[英]I can now detect the colour blue with open cv, How do I make it so now if the program detects blue it prints something?
I'm not really sure how do go about doing this, I think template matching could work but I'm not really sure.我不太确定 go 如何做到这一点,我认为模板匹配可以工作,但我不太确定。 Could someone help?
有人可以帮忙吗?
import cv2
import numpy as np
Fishisthere = cv2.imread("FishThere.jpg")
img = Fishisthere[579:600, 850:1360]
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lowerrange = np.array([106, 147, 0])
upperrange = np.array([179, 255, 245])
mask = cv2.inRange(hsv, lowerrange, upperrange)
cv2.imshow("edited", mask)
#cv2.imshow("normal1", hsv)
#cv2.imshow("normal1", img)
cv2.waitKey(0)
#cv2.destroyAllWindows()
Did u face any errors?你有没有遇到任何错误? When I run ur code, this appears:
当我运行你的代码时,会出现:
> Overload resolution failed:
> - img is not a numpy array, neither a scalar
> - Expected Ptr<cv::UMat> for argument 'img'
> - img is not a numpy array, neither a scalar
> - Expected Ptr<cv::UMat> for argument 'img'
I removed the codes on line 6 and it works fine for me:我删除了第 6 行的代码,它对我来说很好用:
import cv2
import numpy as np
Fishisthere = cv2.imread("FishThere.jpg")
hsv = cv2.cvtColor(Fishisthere, cv2.COLOR_BGR2HSV)
lowerrange = np.array([106, 147, 0])
upperrange = np.array([179, 255, 245])
mask = cv2.inRange(hsv, lowerrange, upperrange)
cv2.imshow("edited", mask)
#cv2.imshow("normal1", hsv)
#cv2.imshow("normal1", img)
cv2.waitKey(0)
#cv2.destroyAllWindows()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.