平台环境硬件
Win10
VS2019
OpenCV3.4.6
ZED双目相机
//===================双目相机图像形式===============================//
首先说说双目相机的成像和数据传输形式。双目相机顾名思义就是有两个摄像头,同时拍照。这里的关键词是“同时”,这又属于那种说起来简单做起来难的问题。 如何保证两个相机每一帧都是同时成像的,这会直接关系到双目数据的应用结果。好在厂家已经把“同步”这个问题在硬件层面解决了,通过板载芯片来进行同步。 作为我们用户无需关心这个问题,只需要读取数据即可。
那么双目相机输入给电脑的数据又是什么形式呢?如果不了解,你可能会以为是两个独立的画面或什么的,但其实不是。其实还是“一个画面”,双目相机在硬件层面将两个摄像头的数据合并到了“同一个画面”上,如下所示。
在处理数据时,我们只需要将影像画面拆分成左右两个,如下图,然后单独处理即可。
原作者使用OpenCV+python,将一个正图分成两个图像显示,其实是分割了一半进行显示,代码如下
# 对影像进行拆分,左右影像
left_cam = frame[:, :int(width / 2), :]
right_cam = frame[:, int(width / 2):, :]
# 分别显示
cv2.imshow("left_cam", left_cam)
cv2.imshow("right_cam", right_cam)
cv2.waitKey(25)