迅为i.MX6ULL开发板-移植OpenCv2.4.9-搭建OpenCv编译环境
发布时间:2021-4-29 14:21
发布者:落风
本章节将介绍 OpenCV 的移植方法,及结合 Qt 例程去进一步学习 OpenCV 识别图像。本章节使用的资料已经放到了开发板网盘资料中,路径为:“11_Linux 系统开发进阶\85_章节_移植 OpenCv2.4.9 使用资料”。 我们需要准备的资料: 1. 开发板使用的是 i.MX6ULL 终结者,开发板里面是 Yocto 文件系统。 2. 使用 Ubuntu16.04 3. 提供 opencv 源码“opencv-2.4.9.zip” 4. QT 测试例程 85.1 安装交叉编译工具 移植的 QT 系统需要的交叉编译器就是我们编译 qt 的编译器,因为我们是 Yocto 系统,所以我们用编译 Yocto 的编译器来编译 OpenCV。交叉编译器为:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf。设置交叉编译器请参考 i.MX6ULL 终结者-开发板使用手册 4.3 章节 搭建交叉编译环境。 85.2 搭建 OpenCv 编译环境 1.我们将文件中提供的“opencv-2.4.9.zip”也就是 opencv 源码通过 ssh 软件移 ubuntu 下并解压,作者将该文件放入了“/home/topeet/opencv2.4.9”目录下,新建 opencvbuild 和 opencvinstall 文件夹,opencvbuild是构建目录,opencvinstall 是安装目录如图 85.2.1 所示。 ![]() 2.OpenCV 2.2 以后版本需要使用 Cmake 生成 makefile 文件,因此需要先安装 cmake。ubuntu 下安装 cmake 比较简单,使用命令“apt-get install cmake”,如图 85.2.2 所示。 ![]() 3.使用命令“cmake --version”查看版本,测试是否安装成功。如图 85.2.3 所示。 ![]() 4.我们使用命令“cd opencv-2.4.9/”进入源码目录。如图 85.2.4 ![]() 5.使用命令“cmake-gui”打开 cmake 的 gui 界面,开始进行配置。如图 85.2.5 所示。 ![]() 6.我们在“where is the source code”中填入电脑中 opencv 源码的位置,“where to build the binaries”填入生成 make 编译文件的位置,然后点击 configure 按钮。如图 85.2.6 所示。 ![]() 7.选择最后一项,然后点击 next,如图 85.2.7 所示。 ![]() 8.Operating System 选择目标系统“Linux”, Compilers 中选择交叉编译器的 gcc 和 g++, “/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc” “/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++”,Target Root 选择交叉编译器的路径 “/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/bin”,include Mode 选择“search only in target root”,其他如图 85.2.8 所示,点击 finish.如果出现配置错误的信息,关闭警告配置即可。 ![]() 9.此时主界面如下图所示,这时 Cmake 会读取程序的一些配置信息,可以在下图红框中对每一个编译选项进行修改,将 CMAKE_INSTALL_PREFIX 改成你想要的路径,作者改成了“/home/topeet/opencv2.4.9/opencvinstall”,如图 85.2.9 所示。 ![]() 最后点 Generate,在编译路径/home/topeet/opencv2.4.9/opencvbuild 下就生成 Makefile。 10.我们使用“cd /home/topeet/opencv2.4.9/opencvbuild”命令进入 “/home/topeet/opencv2.4.9/opencvbuild”目录下,在执行 Makefile 之前需要修改 CMakeCache.txt 文件的194 行。使用命令“vi CMakeCache.txt”编辑文本。如图 85.2.10 所示。 ![]() 跳转至 194 行。将“CMAKE_EXE_LINKER_FLAGS:STRING=' '”改为 “CMAKE_EXE_LINKER_FLAGS:STRING=-lpthread -lrt -ldl”如图 85.2.11 所示。修改后保存退出。 ![]() 11.在 /home/topeet/opencv2.4.9/opencvbuild 目录下输入命令 make 编译。编译部分截图如图 85.2.12所示。 ![]() 编译完成之后。如图 85.2.13 所示: ![]() 使用指令“make install”,部分截图如图 85.2.14 所示。 ![]() 安装完成后,我们可以在“/home/topeet/opencv2.4.9/opencvinstall”目录下看到编译生成的库文件。至此,移植工作基本完成。 ![]() |
网友评论