2016-08-18 10 views

Antwort

0

Da jedes Pixel überprüft werden muss, ich fürchte, Sie linewise auf das Bild zu durchlaufen haben und sehen, welche die ersten weißen Pixel.

0

Sie können über das Bild iterieren, bis Sie auf ein Pixel stoßen, das nicht schwarz ist.

Ich werde ein Beispiel in C++ schreiben.

cv::Mat image; // your binary image with type CV_8UC1 (8-bit 1-channel image) 
int topRow(-1), topCol(-1); 
for(int i = 0; i < image.rows; i++) { 
    uchar* ptr = image.ptr<uchar>(i); 
    for(int j = 0; j < image.cols; j++) { 
     if(ptr[j] != 0) { 
      topRow = i; 
      topCol = j; 
      std::cout << "Top point: " << i << ", " << j << std::endl; 
      break; 
     } 
    } 
    if(topRow != -1) 
     break; 
} 
+0

Hat iterieren Ihrem Beispiel wenn alle Pixel oder nur die Kontur des Pixel? Es sieht aus wie das ganze Bild, aber was ist, wenn es mehrere Konturen im Bild gibt? – g491

Verwandte Themen