hgl 发表于 2017-9-8 11:31:07

Firefly-RK3399 USB摄像头驱动及SimpleCV安装测试

本帖最后由 hgl 于 2017-9-8 11:35 编辑

一、总体介绍
继上次开箱贴后,这次来分享一下USB摄像头的驱动及SimpleCV的安装及一些小的测试,虽然这些内容在我的前边几个帖子中做过详细的介绍,但考虑到作为一个完整的试用过程,我还是将这些作为试用的关联环节再分享一下,而且在这个帖子中,也加了一些新的东西,包括之前遇到的一些问题的解决方法,一些新功能的介绍以及更多的测试内容。
二、USB摄像头驱动
FireFly-RK3399这块板子搭载的摄像头驱动比较多,有两个MIPI-CSI、一个DVP的摄像头接口,此外还支持USB摄像头,功能比较强大,官方支持的摄像头列表如下ː13M:OV13850/IMX214-0AQH58M:OV8825/OV8820/OV8858-Z(R1A)/OV8858-R2A5M:OV5648/OV56402M:OV2680
由于我手头有一个ov0706摄像头,支持的是串口数据传输,还有一个ov7670,支持的是SCCB总线,都不在上述支持的列表里,只能使用另一个USB摄像头了,后边如果有时间的话,看能不能自己写一个驱动程序将这几个摄像头都用起来。由于后边用USB摄像头进行开发,现在就只先说说USB摄像头的驱动吧。
1.拍照    安装软件包:sudo apt-get install fswebcam    抓取图片:fswebcam –r 640x480test.jpg    其中640x480是图片的分辨率,test.jpg即为抓取后保存的图片。    效果如图:   http://bbs.elecfans.com/data/attachment/forum/201706/16/215101czok85vhk74nlojn.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()结果如图 :    http://bbs.elecfans.com/data/attachment/forum/201706/16/215547rono6ncpl0fpno0n.png
另一种方法是直接输入simplecv进入simplecv的终端,如果安装没有错误,此时就会显示出SimpleCV的版本信息,命令提示,用法及一些示例,如图:    http://bbs.elecfans.com/data/attachment/forum/201706/16/215607m1sjsp0dwp1o1p11.png    http://bbs.elecfans.com/data/attachment/forum/201706/16/215632i8lzma92r2mjgj9j.png
(5)接下来就可以编写自己的Python程序实现所想要实现的功能了,这里先以显示一张图片进行测试,   程序如下:    http://bbs.elecfans.com/data/attachment/forum/201706/16/215408duzrz2gbzquzqcrw.png
保存好,输入如下命令运行:$ python displaytest.py结果如图:    http://bbs.elecfans.com/data/attachment/forum/201706/16/215812u97yfmdkgsnlumdl.jpg
然后在以一个示例程序来进行测试,这里以例程号为28的一个图像捕获实验来测试,运行结果如图:http://bbs.elecfans.com/data/attachment/forum/201706/16/215833arfen6nixln07trz.jpg
到此SimpleCV的安装及简单测试就完成了。

志摩千岁 发表于 2017-10-11 20:35:27

学习了

joey_china 发表于 2018-3-9 15:38:50

顶一下,学习了

power1077 发表于 2018-3-21 18:15:12

謝謝樓主的分享,想跟您請教下,omxplayer是crosscompile到ubuntu的嗎?

350531637@qq.co 发表于 2018-6-4 11:17:02

已收藏,最近正在搞这个

tu-whit 发表于 2018-8-23 14:57:19

厉害,学习了!

TiAmo 发表于 2018-10-5 14:50:46

支持一下!!!!

Ralston 发表于 2020-9-18 21:05:01

弱弱的请教一下,这个是安卓系统还是Ubuntu
页: [1]
查看完整版本: Firefly-RK3399 USB摄像头驱动及SimpleCV安装测试