定义获取鼠标像素
import cv2
def get_pixel(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
# 输出像素值和坐标信息到控制台
print('Pixel value at (', x, ', ', y, ') :', img[y, x])
# 在图像上绘制坐标和像素值
font = cv2.FONT_HERSHEY_SIMPLEX
txt = 'Pixel value: ' + str(img[y, x]) + ' Coord: (' + str(x) + ', ' + str(y) + ')'
cv2.putText(img, txt, (x, y), font, 0.5, (255, 0, 0), 2)
读取图像
img = cv2.imread('20230511200757_11189948_1_1.jpg')
显示图像并设置鼠标事件回调函数
cv2.namedWindow('Image')
cv2.setMouseCallback('Image', get_pixel)
while True:
# 显示图像
cv2.imshow('Image', img)
# 等待用户按下键盘上的任意键
k = cv2.waitKey(0)
if k == ord('q'):
break
cv2.destroyAllWindows()
完整代码
import cv2
def get_pixel(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
# 输出像素值和坐标信息到控制台
print('Pixel value at (', x, ', ', y, ') :', img[y, x])
# 在图像上绘制坐标和像素值
font = cv2.FONT_HERSHEY_SIMPLEX
txt = 'Pixel value: ' + str(img[y, x]) + ' Coord: (' + str(x) + ', ' + str(y) + ')'
cv2.putText(img, txt, (x, y), font, 0.5, (255, 0, 0), 2)
# 读取图像
img = cv2.imread('20230511200757_11189948_1_1.jpg')
# 显示图像并设置鼠标事件回调函数
cv2.namedWindow('Image')
cv2.setMouseCallback('Image', get_pixel)
while True:
# 显示图像
cv2.imshow('Image', img)
# 等待用户按下键盘上的任意键
k = cv2.waitKey(0)
if k == ord('q'):
break
cv2.destroyAllWindows()
结果展示
使用方法
鼠标点击图中任意一点, 对话框会返回改点坐标和像素值。如果想在图中展示,点击一点后按ES即可。退出按“q"!
当然你可以标记触发点,可以继续改进!