本章节将介绍 OpenCV 的移植方法,及结合 Qt 例程去进一步学习 OpenCV 识别图像。本章节使用的资料已经放到了开发板网盘资料中,路径为:“11_Linux 系统开发进阶\86_章节_移植 OpenCv3.4.1 使用资料”。
我们需要准备的资料:
1.开发板使用的是 i.MX6ULL 终结者,开发板里面是 Yocto 文件系统。
2.使用 Ubuntu16.04
3.提供 opencv 源码“opencv-3.4.1.zip”
4.QT 测试例程
86.1 安装交叉编译工具
移植的 QT 系统需要的交叉编译器就是我们编译 qt 的编译器,因为我们是 Yocto 系统,所以我们用编译 Yocto 的编译器来编译 OpenCV。交叉编译器为:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf。设置交叉编译器请参考 i.MX6ULL 终结者-开发板使用手册 4.3 章节 搭建交叉编译环境。
86.2 搭建 OpenCV 的编译环境
1.在 Ubuntu 新建一个 opencv 文件夹。将迅为提供的 opencv-3.4.1 源码压缩包复制到 opencv 这个目录,解压。然后再 opencv 目录下新建 install,build 文件夹。build 文件夹是构建目录 ,install 文件夹是安装目录。如图 86.2.1 所示:
2.安装 cmake 和 cmake-gui 工具
sudo apt-get install cmake cmake-qt-gui cmake-curses-gui
安装完成提示安装成功,作者是已经安装过了,如图 86.2.3 所示:
3.进入 build 目录下,执行指令 cmake-gui,开始配置 OpenCV 的环境执行完成后会出现图形化工具cmake-gui。指定我们源码的所在路径和构建目录。勾选 Advanced,再点击 Configure 或者 Generate。
4.选择 Unix Makefiles,然后选择 Specify options for cross-compiling,再点击 Next。
5.填写交叉编译器的路径,注意红色部分请填写自己的交叉编译器路径。
Operation System:topeet
Compilers C:
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
Compilers C++:
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
Targer Root:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/bin
指定交叉编译工具的具体路径,按个人路径指定,其他按图所示填写,如图 86.2.7 所示。
6. 我们还需要配置一些信息,点击如下图 CMAKE 处,在 CMAKE_EXE_LINKER_FLAGS 处添加上-lpthread -lrt -ldl。添加这些是指定依赖库的链接参数。
7.再在 CMAKE_INSTALL_PREFIX 处指定安装目录,我们在上面已经新建了 install 安装目录。我们直接指定到该目录即可。如果不指定,它会默认安装到 Ubuntu 系统目录/usr/local 下。这样会直接替换我们/usr/local 下的库。
8.至此我们配置完,现在我们需要生成 Makefile 等文件,我们先点击 Configure,再点击 Generat 就可以生成了。点击了 Generate 后看到信息像如图 86.2.10 一样,表明生成成功。若出现报错,请根据对话框里的内容指定的文件去自行去检查错误!一般都是交叉编译器路径不对造成的。配置完成生成文件后,我
们点击左上角关闭这个图形化配置界面即可。
下节内容:编译 OpenCV 源码
更多教程:关注B站(哔哩哔哩)搜索-北京迅为,可以看到更多教程噢
迅为-i.MX6ULL 开发板-移植OpenCv3.4.1-搭建编译环境
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PSoc™62开发板之i2c通信
i2c通信之BME280模块Bring Up
Infineon RT-Thread PSoc™62 i2c BME280 -
i.MX6ULL开发笔记 | 01 - i.MX6ULL Alpha开发板快速上手
一、正点原子Alpha i.MX 开发板最近需要学习嵌入式 linux 相关的内容,
linux imx6ull 编译器 交叉编译器 -
i.MX6ULL应用移植 | 移植tslib到Linux开发板(1.22)
tslib的github仓库为:https://github.com/libts/tslib。下载最新发布的tag,为1.22版本:(1)解压源码:解压后的文件如
linux imx6ull tslib 根文件系统 开发板 -
i.MX6ULL应用移植 | 移植OpenSSH 8.9到Linux开发板(zlib、openssl、openssh)
取源码(1)zlib:一个大规模的Spiffy但微妙的不显眼的压缩库。下载地址:://.zli
linux ssh openssh 开发板 根文件系统