python通过鼠标点击获取保存的双目视差图实时显示


前言

  我们获取视差图的时候,往往需要查看一些保存图像格式的视差图中对应点的视差,所以编写了一个小程序,可以实时的显示对应点的坐标和视差。
注:这里的视差是归一化之后的,因为png只能保存0-255的数值,根据你归一化的函数,再返归一化即可得到真实的视差。

1.代码如下:

import cv2

def get_disparity(event, x, y, flags, param):
    if event == cv2.EVENT_MOUSEMOVE:
        # 获取点击位置的视差信息
        disparity = img[y][x]
        # 在图像中实时显示出来
        img_copy = img.copy()
        cv2.circle(img_copy, (x, y), 5, (0, 0, 255), -1)
        cv2.putText(img_copy, 'x: ' + str(x) + ' y: ' + str(y), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
        cv2.putText(img_copy, 'disparity: ' + str(disparity), (10, 60), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
        cv2.imshow("Disparity", img_copy)

img = cv2.imread("1.png")
cv2.namedWindow("Disparity")
cv2.setMouseCallback("Disparity", get_disparity)

cv2.imshow("Disparity", img)
cv2.waitKey()
cv2.destroyAllWindows()

2.效果图

效果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43788282/article/details/128687323