Python:查找图像中黑色像素的数量

时间:2019-03-22 05:56:33

标签: opencv pixel threshold

我有一个用于图像处理的视频文件。在视频中,我已经在精确的时间(如图所示)中捕获了样本,并使用OpenCV对其进行了阈值处理。现在,我想找到黑色像素数量的差异,以便得出时间与差异的关系图。如何在Python中查找每个图像中的黑色像素数量?

https://i.stack.imgur.com/Nfgrb.png
(点击图片放大)

1 个答案:

答案 0 :(得分:1)

OpenCV不提供直接对黑色像素进行计数的功能,但提供对所有非黑色像素进行计数的功能:cv2.countNonZero(img)

由于您尚未在此处发布代码,因此是如何使用此代码的示例:

# get all non black Pixels
cntNotBlack = cv2.countNonZero(img)

# get pixel count of image
height, width, channels = img.shape
cntPixels = height*width

# compute all black pixels
cntBlack = cntPixels - cntNotBlack

请注意,这只会找到纯黑色像素(意味着所有通道都完全为零)。