本帖最后由 1413909 于 2017-6-16 22:20 编辑
一、总体介绍 继上次开箱贴后,这次来分享一下USB摄像头的驱动及SimpleCV的安装及一些小的测试,虽然这些内容在我的前边几个帖子中做过详细的介绍,但考虑到作为一个完整的试用过程,我还是将这些作为试用的关联环节再分享一下,而且在这个帖子中,也加了一些新的东西,包括之前遇到的一些问题的解决方法,一些新功能的介绍以及更多的测试内容。 二、USB摄像头驱动 FireFly-RK3399这块板子搭载的摄像头驱动比较多,有两个MIPI-CSI、一个DVP的摄像头接口,此外还支持USB摄像头,功能比较强大,官方支持的摄像头列表如下ː 13M:OV13850/IMX214-0AQH5 8M:OV8825/OV8820/OV8858-Z(R1A)/OV8858-R2A 5M:OV5648/OV5640 2M:OV2680 由于我手头有一个ov0706摄像头,支持的是串口数据传输,还有一个ov7670,支持的是SCCB总线,都不在上述支持的列表里,只能使用另一个USB摄像头了,后边如果有时间的话,看能不能自己写一个驱动程序将这几个摄像头都用起来。 由于后边用USB摄像头进行开发,现在就只先说说USB摄像头的驱动吧, 1.拍照: 安装软件包:sudo apt-get install fswebcam 抓取图片:fswebcam –r 640x480test.jpg 其中640x480是图片的分辨率,test.jpg即为抓取后保存的图片。 效果如图:
2.拍摄视频: 安装软件包:sudo apt-get install libav-tools 拍摄视频:avconv -f video4linux2 –r 7–s 640x480 –i video.avi 参数7是设置的拍摄时间,640x480是图像分辨率,video.avi即为保存的视频文件。 播放视频:omxplayer –o hdmi video.avi 即通过HDMI输出播放video.avi视频。 以上就是USB摄像头的简单使用,由于USB接口已普遍在电子设备上使用,所以USB摄像头使用起来还是挺方便和实用的。 三、SimpleCV的安装的测试: 1.简单介绍: SimpleCV是一个开源框架,使用Python语言进行计算机视觉及图像的开发,它封装了功能强大的计算机视觉库OpenCV,使使用者无需了解位深、文件格式、颜色空间、缓冲区管理等内容,简化了对这些库的使用,使开发者更能专注于应用的开发,但这并不意味着使用者就不需要掌握数字图像处理的知识与内容了,只有学习过数字图像处理与图像通信或了解过相关知识后,我们对其中的一些功能才会有本质上的认识,比如图像信号的一些常用的变换,图像增强中的灰度级修正、同态增晰、锐化、几何校正等,以及图像复原、图像分割、图像重建以及图像编码等等,虽然我们不一定自己去编写代码实现这些算法,但我们知道这些知识后用别人写好的库去实现这些功能后,我们会对它有更深的理解。这里我们以实现功能为目标,选择用起来更方便的SimpleCV来开发,当然如果需要,也可以去使用OpenCV去开发。这里贴一下官网网址:http://simplecv.org/。有兴趣的可以去看看。 2.SimpleCV安装: 下面说说SimpleCV的安装, (1)在安装之前,先进行一下软件的更新: 在终端输入如下指令: $ sudoapt-get update $ sudoapt-get upgrade (2)等更新完成后,就可进行下一步安装Python-opencv了: 输入:sudo apt-get install ipython python-opencv python-pygame python-scipy python-numpy python-pip 就可以安装包括python、opencv等在内的相关函数库,这里要注意一下,ipython和python-pygame比较特殊,有的教程里边可能没有在命令里写着两个,已然可以运行,但有的就不行,一般前者可能在32位的机器上跑,而前边几个软件包里以集成有相关功能,后者一般是在64位的机器上跑,集成的软件包不兼容,导致出现缺少模块组件的错误,为了保险,在64位机器上跑,最好都下载安装一遍。
(3)下载和安装SimpleCV: 我们可以通过pip到GitHub上下载源程序,输入如下命令: $sudo pip install https://github.com/ingenuitas/SimpleCV/zipball/master 安装好后如图: (4)测试SimpleCV是否安装成功,一种方法可以直接在Python终端下测试, 输入: $ python >>>import SimpleCV 如果没有错误,不会有任何提示,有错误的话,会给出相应提示。 退出时输入: >>>exit() 结果如图 :
另一种方法是直接输入simplecv进入simplecv的终端,如果安装没有错误,此时就会显示出SimpleCV的版本信息,命令提示,用法及一些示例,如图:
(5)接下来就可以编写自己的Python程序实现所想要实现的功能了,这里先以显示一张图片进行测试, 程序如下:
保存好,输入如下命令运行:$ python displaytest.py 结果如图:
然后在以一个示例程序来进行测试,这里以例程号为28的一个图像捕获实验来测试,运行结果如图: |