2年前 (2017-03-06)  算法语言 |   1 条评论  954 
文章评分 2 次,平均分 2.5

毕业设计的项目是做一个通过双目摄像头测出物体的距离,然后控制模型车避开较近的障碍物,所以需要将安装在模型车上双目摄像头的图像传输,发送到电脑端进行双目测距算法的计算,然后电脑将计算的结果发送到小车,小车控制行驶方向从而避开障碍物。小车上使用Pcduino开发板,安装Ubuntu系统,外插Arduino扩展板,连接小车的硬件部分。

从淘宝上买回的双目摄像头后,使用java cv获取到双目摄像头图像的方式与单目摄像头的方式是类似的。不同的地方是要想分离双目摄像头的画面需要设置代码中的分辨率参数。

如果不对分辨率进行任何的设置,得到的效果是这样的:

Ubuntu下利用Java CV获取双目摄像头图像

双目摄像头画面

是不是似曾相识,我们在电影院看3D电影不戴眼镜看到的就是这样的。对于开发者来说两路图片混合在一起显然不是好事,需要在代码里做如下设置。

因为笔者手中的摄像头每一只分辨率为640480,所以将分辨率改成1280480,可以成功的将图片分离。

图片分离以后的效果是这样的:

Ubuntu下利用Java CV获取双目摄像头图像

双目摄像头图像分离

代码使用了java cv的库,如果是maven项目,需要这样配置依赖:
在pom.xml中project节点下添加:

更多的环境配置可以访问 java cv的官方Github主页。

 

本文已在版权印备案,受著作权法律保护,未经允许不得转载!如需转载请联系作者或访问版权印获取授权,如果你觉得这篇文章对你有用,可以点击下面的“赞助作者”打赏作者!

转载注明原文出处:王柏元的博客>>https://wangbaiyuan.cn/by-using-java-cv-for-binocular-camera-image-under-ubuntu.html

关于
记录生活,镌刻心路;泼洒文墨,分享技术!王柏元的博客致力于IT经验交流,并原创翻译引进外文文章,打开IT国际化视野

发表评论

格式
  1. 虽然看不懂,但貌似好厉害

    扶苏 评论达人 LV.1 11个月前 (01-31) [0] [0]

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册