使用 Python 检查 OpenCV 中的像素颜色
Checking pixel color in OpenCV with Python
我目前正在使用 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()
我做错了什么?
正如它所说,您正在比较列表和乘法条目,这太不精确了。
你必须使用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")
import cv2
image = cv2.imread('abc.jpg')
if image[50, 50, 0] != 0:
print("the pixel is not black")
试试这个:)
我目前正在使用 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()
我做错了什么?
正如它所说,您正在比较列表和乘法条目,这太不精确了。
你必须使用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")
import cv2
image = cv2.imread('abc.jpg')
if image[50, 50, 0] != 0:
print("the pixel is not black")
试试这个:)