使用Python检查OpenCV中的像素颜色

时间:2016-02-16 17:59:35

标签: python image opencv pixels

我目前正在使用python和OpenCV开发一个项目。对于项目的一部分,我想检查并查看一个特定像素(特别是坐标为100,100的像素)是否不等于黑色。我的代码如下。

import cv2

img = cv2.imread('/Documents/2016.jpg')

if img[100, 100] != [0, 0, 0]:
    print("the pixel is not black")

当我在终端中玩得开心时,我收到了这个错误。

File "/Documents/imCam.py", line 5, in <module>
if img[100, 100] != [0, 0, 0]:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我做错了什么?

2 个答案:

答案 0 :(得分:1)

正如它所述,你将列表与多个条目进行比较,这太过于不经常了。

您必须使用numpy.any之类的

import cv2
import numpy as np

img = cv2.imread('/Documents/2016.jpg')

if np.any(img[100, 100] != 0):
    print("the pixel is not black")

答案 1 :(得分:0)

import cv2

image = cv2.imread('abc.jpg')

if image[50,50,0]!=0:
    print("the pixel is not black")

尝试一下:)