import cv2
def movemouse(event, x, y, flags, param):
global img
img2 = img.copy()
if event == cv2.EVENT_MOUSEMOVE:
# 获取鼠标位置的灰度像素值
pixel_value = img[y, x]
# 在图像上显示像素值
font = cv2.FONT_HERSHEY_SIMPLEX
message = f'Pixel value: {pixel_value}'
cv2.putText(img2, message, (int(w / 2.5), int(h / 16)),
font, 0.5, (255, 255, 255), 1)
# 在鼠标位置画一个圆圈
cv2.circle(img2, (x, y), 1, (0, 0, 255), -1)
# 显示更新后的图像
cv2.imshow('image', img2)
def main():
cv2.namedWindow("image")
cv2.setMouseCallback("image", movemouse)
while True:
key = cv2.waitKey(1) & 0xFF
if key == 27: # 当按下 'Esc' 键时退出循环
break
cv2.destroyAllWindows()
if __name__ == '__main__':
img = cv2.imread('tt.jpg', cv2.IMREAD_GRAYSCALE)#读取灰度图
img_size = img.shape
h, w = img_size[0:2]
main()
python+opencv: 鼠标获取灰度图的目标点像素值
于 2024-01-03 21:41:46 首次发布