使用OpenCV检查图像是否全部为白色像素

时间:2020-01-15 20:12:15

标签: python image opencv image-processing pixel

我正在使用OpenCV(Python)编写脚本,将图像分成不同的部分,以便稍后在其上的每个部分上运行OCR。我已经获得了将源图像分成我需要的所有框的脚本,但是它也附带了许多普通的白色图像。

我很好奇能否使用OpenCV检查图像是否仅为白色像素。我是这个图书馆的新手,所以有关此的任何信息都将有所帮助。

谢谢!

1 个答案:

答案 0 :(得分:9)

方法1: np.mean

计算图像的平均值。如果等于ObjectId,则图像由所有白色像素组成。

255

方法2: cv2.countNonZero

您可以使用if np.mean(image) == 255: print('All white') else: print('Not all white') 来计数非零(白色)数组元素。这个想法是获得一个二进制图像,然后检查白色像素的数量是否等于图像的面积。如果匹配,则整个图像由所有白色像素组成。这是一个最小的示例:


输入图像#1(由于背景为白色,因此不可见):

enter image description here

全白

输入图片#2

enter image description here

不是全白的

cv2.countNonZero