【发布时间】:2018-03-03 19:06:59
【问题描述】:
我在 OpenCV 3.4 中遇到颜色检测问题。我将在下面展示我的问题的图片。
import numpy as np
import cv2
img= cv2.imread("C:\\Users\Stefan_Cepa\\Desktop\\dataset2\\set\\A6.png")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_range = np.array([30,150,150])
upper_range = np.array([255,255,180])
mask = cv2.inRange(hsv, lower_range, upper_range)
output = cv2.bitwise_and(img, img, mask = mask)
cv2.imshow("images", np.hstack([img, output]))
cv2.imshow('mask', mask)
while(True):
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
如您所见,我已设置下限和上限以检测图像中的红色,但出于某种原因,如下图所示,我没有得到任何结果。任何提示和技巧都会非常有帮助!先感谢您!
【问题讨论】:
-
为什么30(即色轮中的60)的色调会变成红色?它看起来更像是黄色的......红色更像是 0 -15,因为它位于轮子的开头和结尾,你也应该得到 170-180。
-
混合 hsv 和 bgr 值@api55
标签: python python-3.x opencv graphics computer-vision