查看: 1186|回复: 0

iTOP4412-QtE-opencv-UVC摄像头测试文档

[复制链接]
发表于 2020-7-21 11:17:10 | 显示全部楼层 |阅读模式
本文档介绍的是在QtE系统环境下迅为iTOP4412 UVC摄像头opencv程序实验调试步骤。我们使用的是4412全功能底板。提供opencv源码“opencv-2.4.9.zip”,uvc摄像头qt源码“camera_opencv.tar.gz”以及opencv编译好的库文件“opencv-2.4.9_arm.tar.gz”
OPENCV移植
我们将文件中提供的“opencv-2.4.9.zip”即opencv源码包解压,并将其通过ssh软件移至ubuntu下,作者将该文件放入了“/home/work2/cwork/opencv”下,如下图所示。
1.png
OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。
ubuntu下安装cmake比较简单,使用命令“apt-get install cmake”,如下图所示。
2.png
        使用命令“cmake --version”查看版本,测试是否安装成功。如下图所示。
3.png
        我们使用命令“cd opencv-2.4.9/”进入源码目录。如下图示。
4.png
        使用命令“cmake-gui”打开cmake的gui界面,开始进行配置。如下图示所示。
5.png
我们在“where is the source code”中填入电脑中opencv源码的位置,“where to build the binaries”填入生成make编译文件的位置,然后点击configure按钮。如下图所示。
6.png
选择最后一项,然后点击next,如下图所示。
7.png
Operating System 选择目标系统“Linux”,Compilers中选择交叉编译器的gcc和g++,“/usr/local/arm/4.4.1/bin/arm-none-linux-gnueabi-gcc”“/usr/local/arm/4.4.1/bin/arm-none-linux-gnueabi-g++”,Target Root选择交叉编译器的路径“/usr/local/arm/4.4.1”,include Mode选择“search only in target root”。点击finish。如下图所示。
8.png
.此时主界面如下图所示,这时Cmake会读取程序的一些配置信息,可以再下图红框中对每一个编译选项进行修改,将CMAKE_INSTALL_PREFIX改成你想要的路径,作者改成了“/usr/local/opencv-2.4.9”,这里去掉WITH_TIFF,WITH_CUDA及WITH_GTK。如下图所示。
9.png
最后点Generate,在编译路径/opt/opencv_arm下就生成了Makefile。关闭后我们使用“cd /opt/opencv-arm/”命令进入“/opt/opencv_arm”,在执行Makefile之前需要修改CMakeCache.txt文件的194行。使用命令“vi CMakeCache.txt”编辑文本。如下图所示。
10.png
跳转至194行。将“CMAKE_EXE_LINKER_FLAGS:STRING=' '”改为“CMAKE_EXE_LINKER_FLAGS:STRING=-lpthread -lrt -ldl”如下图所示。
11.png
保存退出后,使用“make”编译。编译部分截图如下所示。
12.png
编译完成之后。使用指令“make install”,部分截图如下所示。
13.png
我们可以在“/usr/local/opencv-2.4.9/”目录下看到编译生成的库文件。至此,移植工作基本完成。
14.png
UVC程序编译
我们把文件夹中带的例程源码“camera_opencv.tar.gz”通过ssh拷贝到ubuntu下,如下图所示。
15.png
使用命令“tar -xvf camera_opencv.tar.gz”解压程序源码。如下图所示。
16.png
使用命令“cd camera_opencv/”进入。然后使用命令“/opt/qt-4.7.1/bin/qmake”“make”编译程序,编译完成即可看到程序,如下图所示。
17.png
生成文件系统
我们使用命令“ cd /home/topeet/Linux+QT/root/”进入qt文件系统目录。如下图所示。
18.png
使用命令“cp -r /usr/local/opencv-2.4.9/ ./usr/local/”将opencv库文件拷贝到qt文件系统中,使用命令“cp -r /home/work2/cwork/opencv/camera_opencv/camera_opencv topeet/”将程序拷贝到文件系统中,使用命令“ cp -r /opt/opencv-arm/lib/* ./lib/”动态库拷贝到开发板中。如下图所示。
19.png
我们使用命令“cd lib/”进入“lib”文件夹。使用命令“cp -r /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so.6.0.12 ./”将“libstdc++.so.6.0.12”拷贝到当前目录(自带的libstdc++.so.6.0.10不支持GLIBCXX_3.4.11,运行程序会报错),使用命令“”删除旧连接文件,使用命令“ln -s libstdc++.so.6.0.12 libstdc++.so.6”创建链接。如下图所示。
20.png
使用命令“cd ../../”返回上一级目录。使用命令“make_ext4fs -s -l 314572800 -a root -L linux system.img root”生成文件系统镜像。如下图所示。
21.png
然后将文件系统烧写到开发板上(QT系统)。
程序测试
开发板上电启动后,使用命令“ps”查看当前进程,并kill fluidlauncher。如下图所示。
22.png
使用命令“cd /topeet/”进入程序存放目录。使用命令“./camera_opencv -qws &”即可运行程序,此时屏幕显示uvc摄像头浏览画面。
23.png
更多内容关注北京迅为



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表