integreret billede

et integreret billede er, hvor hvert billedpunkt repræsenterer den kumulative sum af et tilsvarende inputpunkt med alle billedpunkter over og til venstre for inputpunktet. Det muliggør hurtig beregning af summeringer over billedsubregioner. Enhver rektangulær delmængde af en sådan underregion kan evalueres i konstant tid.

dette koncept blev introduceret af Viola & Jones og er også kendt som Summed Area Table. Tillad hurtig beregning af rektangulære billedfunktioner, da de muliggør summering af billedværdier over ethvert rektangelbilledområde i konstant tid, dvs. beregningskompleksitet af O (1) i stedet for O(n).

et integreret billede er defineret som

https://computersciencesource.files.wordpress.com/2011/05/sxyeq.png

https://computersciencesource.files.wordpress.com/2011/05/sxyeq.png

ligning til beregning af integral ved punkt (H, y)

SAT-metoden har

  • Rumkompleksitet: O (M*N)
  • tidskompleksitet for rækkevidde Sum forespørgsel: O(1)
  • tidskompleksitet for at opdatere en værdi i matricen: O (M*N)
  • beregner effektivt statistikken som middelværdi, standardafvigelse osv. i ethvert rektangulært vindue

integreret Billedberegning

beregningsteknik

hurtig arealberegning

arealberegning for rektangulært underområde af billede

Sum = nederst til højre + øverst til venstre — øverst til højre — nederst til venstre

bruger

  • regionbaseret statistisk måler f.eks. arealsummer, kovarians, Co-forekomst matrice
  • Teksturkortlægning
  • detektion af feature — HAAR
  • adaptiv tærskel
  • stereokorrespondance
  • konceptet med integrerede billeder kan let udvides til kontinuerligt domæne (ved hjælp af grænser) og flerdimensionelle billeder.
  • O(1) bilateralt med konstante rumlige filtre

kode

class NumMatrix {
public:
vector<vector<int>> sat;
bool empty=true;
NumMatrix(vector<vector<int>> &img) {
int row = img.size();
if(row == 0) return;
int col = img.size();
if(col == 0) return;
empty = false;
sat = vector<vector<int>>(row + 1, vector<int>(col + 1));
for(int i = 1; i <= row; i++)
for(int j = 1; j <= col; j++)
sat = sat + sat - sat + img;
}
int sumRegion(int row1, int col1, int row2, int col2) {
return empty? 0 : sat - (sat + sat - sat);
}
};

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.