Python: 求图像中黑色像素的数量

Python: find the number of black pixels in images

我有一个用于图像处理的视频文件。在视频中,我在准确的时间内捕获了样本,如图所示,使用 OpenCV 进行了阈值处理。现在我想找到黑色像素数量的差异,以获得时间与差异的图形。如何找到 Python 中每个图像中黑色像素的数量?


(点击图片放大)

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

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