我想要計算OpenCV二進制圖像中的所有白色像素。我當前的代碼如下:在opencv二進制圖像中計數'白色'像素(高效)
whitePixels = 0;
for (int i = 0; i < height; ++i)
for (int j = 0; j < width; ++j)
if (binary.at<int>(i, j) != 0)
++whitePixels;
然而,使用gprof我發現這是一個非常緩慢的一段代碼,並在節目中大瓶頸剖析之後。
是否有一種方法可以更快地計算相同的值?
你試過改變高度和寬度嗎?我的意思是循環寬度和高度?這可能會改善循環,取決於如何將圖像放在內存中。 –
您可以直接通過()函數訪問圖像數據嗎? – jrok
做jrok建議可能會更快。我想知道[這個常見問題解答條目](http://opencv.willowgarage.com/wiki/faq#How_to_access_image_pixels)是否相關。 – Brian