【玄铁杯第三届RISC-V应用创新大赛】LicheePi 4A+摄像头的使用
[复制链接]
作为一款性能超强的AI板卡,摄像头支持是必备的,在LicheePi 4A上支持CSI摄像头和USB摄像头。
CSI接口外观看起来和树莓派zero摄像头的CSI接口类似,在某宝上采购的摄像头虽然已经到货,但还没调通,这里暂且不说,就只提一下我试用的USB摄像头吧。
手边usb摄像头也有几个,TypeC和TypeA的都有,但TypeC的摄像头没有一款能适配在LicheePi 4A上,也许本来这个口在启动后就不是USBhost。
另外,也不是所有的TypeA摄像头都可以直接插板上直接使用的,有几款(比较老)的摄像头在使用命令lsusb上已经看到client了,但仍然不能生成/dev/videoX。应该是缺少对应驱动的原因。
而可以正常使用的usb摄像头插入板卡上USB口之后,除了在lsusb中会自动生成对应的usbclient,还能自动生成video0和video1(第一个摄像头),多插入几个,之后的序号只会增加1,所以video0可以认为是缺省的序号。
调用摄像头一般采用opencv或者ffmpeg:
1、使用opencv(还是以python为例)
打开摄像头:
可以查看是否打开成功
也可以查看或者设置摄像头的状态信息,比如刷新率和分辨率
从文档记录来看get(6)是可以获取fourcc信息的,但很可惜https://fourcc.org/中链接finding video codecs by FOURCC是空文件(至少我的网络是没法获取)。
另外,通过远程ssh和本地GUI中获取的数值是不太一样的。
下面代码可以通过本地屏幕查看摄像头
下面代码可以通过网络浏览器查看摄像头
注意:flask的缺省端口号是5000。
2、使用ffmpeg查看摄像头
ffmpeg是通过v4l2管理摄像头的,支持的命令行调用分为三个模块:ffmpeg、ffprobe、ffplay
提示信息Some buffers are still owned by the caller on close,应该是某些应用冲突了。
|