说明
功能
- 实现在linux下通过V4L2采集usb摄像头数据
- 通过qt界面显示
- 显示摄像头的分辨率等基本信息
- 可配置摄像头的分辨率
环境说明
linux: ubuntu
qt版本: Qt5.6.0
调用到的库: libv4l
测试是在ubuntu下运行的,交叉编译后在嵌入式设备运行理论上也是没问题的。
libv4l库是以源码形式加到qt工程里来的,所以实际上使用无需编译成动态库,qt工程编译出来的可执行程序就可以正常运行了。
部分代码说明
摄像头数据获取
使用了一个线程,一直获取摄像头的数据,当有数据时,将图像采集出来,并发送信号给到界面,进行显示
图像显示
界面接收到线程发来的信号后,将图像显示到 label 中,从而实现摄像头数据的显示。
效果
效果如图,可以看到摄像头的一些参数,同时也有计算出帧率显示在状态栏。