之前项目中为了做lka中获得rgb图像信息,网上大多方案是确定相关的区域然后输出像素值,这个方法太麻烦,做了一个简单的使用鼠标点击图片某区域,然后直接在终端输出该区域的像素值。下面是源码:
import cv2
import matplotlib.image as mping
image = mping.imread("./test_images/pkh.png")
def mouse_callback(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
# 在图像上显示鼠标点击点的灰度值
gray_value = image[y, x]
print("RGB值:", gray_value)
# 创建 NamedWindow,并将回调函数与窗口绑定
cv2.namedWindow("Image")
cv2.setMouseCallback("Image", mouse_callback)
while True:
# 显示图像
cv2.imshow("Image", image)
# 按下 ESC 键退出循环
if cv2.waitKey(1) == 27:
break
cv2.destroyAllWindows()
终端输出:
总结:
好用的很!