双目摄像头
博主打算做双目测距的实验,因此需要用到双目摄像头。使用过下述几种类型的双目摄像头:
1.集成两个摄像头的模组(单个USB插口,左右图像单独输出)
这类摄像头插入后会显示两个摄像头输入,但可能是由于共用同一个USB传输的原因,有时候同时打开两个摄像头后,另外一个摄像头的画面会显示不出来。
如果要同时输入两个单独的摄像头,最好是使用不同型号的摄像头。
2.两个相同的单目摄像头(两个USB插口,左右图像单独输出)
两个单独的摄像头分别通过各自的USB输入就不会出现上述问题,但是两摄像头的同步性可能不是很好(对于普通实验其实影响不大),且博主之后打算做多目的实验,USB接口有限(使用hub同样会出现上述的问题),所以经过一段时间的使用之后,最后是选择使用下一种类型的双目摄像头。
3.集成两个摄像头的模组(两个USB插口,左右图像合成输出)
这类摄像头和第一类的区别在于左右图像在模组中已经进行了拼接合成,最后传输出来的是单张合成的图像,在串口中也只是显示一个摄像头。例如,博主购买的这款单个摄像头输出1280x960的图像,通过合成后USB输出2560x960的合成图像。这类摄像头解决了上述两种双目摄像头的缺点,但是图像在opencv中处理时,需要事先进行图像分割。
双目摄像头输入
对于第一和第二类双目摄像头,在程序中都需要单独输入两个摄像头图像。
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
VideoCapture cap1(0),