擅长:python、mysql、java
<p>您使用的是什么版本的OpenCV和哪个Python包装器?我建议在库附带的Python接口中使用OpenCV 2.1或2.2。</p>
<p>我还建议您避免手动扫描像素,而是使用OpenCV提供的低级函数(请参阅OpenCV文档的<a href="http://opencv.willowgarage.com/documentation/python/core_operations_on_arrays.html" rel="nofollow">Operations on Arrays </a>部分)。这样就不容易出错,而且<em>更快。</p>
<p>如果要计算单通道图像或具有COI集的彩色图像中的黑色像素数(以便将彩色图像有效地视为单通道图像),可以使用函数<a href="http://opencv.willowgarage.com/documentation/python/core_operations_on_arrays.html#countnonzero" rel="nofollow">CountNonZero</a>:</p>
<pre><code>def countBlackPixels(grayImg):
(w,h) = cv.GetSize(grayImg)
size = w * h
return size - cv.CountNonZero(grayImg)
</code></pre>