本文主要实现通过cv2只能够的鼠标事件实现图片中的颜色检测。
下面是示例代码:
import cv2
import glob
import numpy as np
# 鼠标回调函数
def showPixelValue(event, x, y, flags, param):
global img, combinedResult, placeholder
if event == cv2.EVENT_MOUSEMOVE:
# 获取鼠标所在(x,y)位置的像素值
bgr = img[y, x]
# 将BGR线束转换为其他颜色格式
ycb = cv2.cvtColor(np.uint8([[bgr]]), cv2.COLOR_BGR2YCrCb)[0][0]
lab = cv2.cvtColor(np.uint8([[bgr]]), cv2.COLOR_BGR2Lab)[0][0]
hsv = cv2.cvtColor(np.uint8([[bgr]]), cv2.COLOR_BGR2HSV)[0][0]
# 创建一个空占位符以显示值
placeholder = np.zeros((img.shape[0], 400, 3),dtype=np.uint8)
# 使用颜色空间的值填充占位符
cv2.putText(placeholder, "BGR {}&#