鼠标点击获取某点的BGR值或者HSV值
代码比较简单直接上代码
import cv2
# 读 取 图 片
img = cv2.imread('/home/lqy/Data/lv/漏底20180901091938对照样本.jpg') # 直接读为灰度图像
# 缩小图像10倍(因为我的图片太大,所以要缩小10倍方便显示)
height, width = img.shape[:2]
size = (int(width * 0.1), int(height * 0.1)) # bgr
img = cv2.resize(img, size, interpolation=cv2.INTER_AREA)
#BGR转化为HSV
HSV=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
#鼠标点击响应事件
def getposHsv(event,x,y,flags,param):
if event==cv2.EVENT_LBUTTONDOWN:
print("HSV is",HSV[y,x])
def getposBgr(event,x,y,flags,param):
if event==cv2.EVENT_LBUTTONDOWN:
print("Bgr is",img[y,x])
#
cv2.imshow("imageHSV",HSV)
cv2.imshow('image',img)
cv2.setMouseCallback("imageHSV",getposHsv)
cv2.setMouseCallback("image",getposBgr)
cv2.waitKey(0)
实现效果也比较不错很方便