Opencv:用鼠标选择像素

时间:2013-11-29 14:19:16

标签: opencv

我正在使用cv2.setMouseCallback功能选择窗口中显示的图像的像素。 回调函数返回一个x和y整数,表示图像中像素的位置,但是注意它的行为在我看来并不会返回你所在的像素,而是虚构中一个点的舍入值轴。

enter image description here

如果你看两个第一个图像,鼠标都在像素0,0上,但如果你靠近其他像素,结果会有所不同。

确定。我知道在真实的图像中错误是微不足道的,但这是一个错误吗?

   cv2.namedWindow('image',cv2.WINDOW_NORMAL) # Can be resized
   cv2.resizeWindow('image', self.w, self.h) #Reasonable size window
   cv2.setMouseCallback('image',self.mouse_callback) #Mouse callback
   while(not self.finished):
      cv2.imshow('image',self.img)
      k = cv2.waitKey(4) & 0xFF
      if k == 27:
         breakim
   cv2.destroyAllWindows()


   # mouse callback function
   def mouse_callback(self,event,x,y,flags,param):
      if event == cv2.EVENT_LBUTTONDOWN:
         print x, y

1 个答案:

答案 0 :(得分:0)

该bug应该在以后的版本中修复。

http://code.opencv.org/issues/3409如有兴趣。