import cv2
import numpy as np
img = cv2.imread('image.jpg')
res = img.copy()
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_green = np.array([40,50,50])
upper_green = np.array([80,255,255])
r2, g2, b2 = 255, 0, 0
mask = cv2.inRange(hsv, lower_green, upper_green)
mask = mask/255
mask = mask.astype(np.bool)
res[:,:,:3][mask] = [b2, g2, r2] # opencv uses BGR
cv2.imshow('image', img)
cv2.imshow('Result', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
我想根据照片中的点击来检测从低到高的颜色值。例如,在这段代码中,我使用[40,50,50]了较低的绿色值和[80,255,255]较高的绿色值,但我想使这个过程自动化。例如,您单击了照片的绿色面,这会返回 [40,50,50]和[80,255,255]
翻阅古今
相关分类