答案 0 :(得分:0)
由于每个像素都需要检查,我担心你必须在图像上逐行迭代,看看哪个是第一个白色像素。
答案 1 :(得分:0)
您可以迭代图像,直到遇到不是黑色的像素。
我将用C ++编写一个例子。
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;
}