import cv2
import numpy as np
img=cv2.imread('13.png')#读入图像
'''
子函数的作用:
双击鼠标左键,获取图像坐标,坐标点在图像中用绿色标注,并返回对应坐标的RGB值
'''
def on_EVENT_LBUTTONDOWN(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDBLCLK:
print("coordinate:(%d,%d)" %(x,y) +" BGR:",img[x,y])
cv2.circle(img,(x,y),1,(0,255,0),-1)
cv2.imshow("image",img)
cv2.namedWindow("image")
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
'''
循环在点解“esc”退出程序
'''
while(1):
cv2.imshow("image", img)
if cv2.waitKey(0)&0xFF==27:
break
cv2.destroyAllWindows()
(204,242)位置已经明显是黑色,读取的像素值还是[255 255 255],明显不正确。
使用的图片为opencv自带的图片
使用就不会出现错误,彩色图片无法准确获得像素值。
实在不清楚为什么请求帮助。