IMX6ULL系列学习记录-移植Opencv3.4.5

本人电子专业研究生毕业,挣点零花钱,承接毕业设计或者课题项目,涉及树莓派,图像识别、视频传输、python语音识别、esp32单片机、qt界面、python、嵌入式Linux。有兴趣可以联系我:15555360357

主题:IMX6ULL系列学习记录-移植Opencv3.4.5

硬件平台:野火IMX6ULL

PC系统:ubuntu19.04

交叉编译器:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf

U-Boot:uboot-imx-rel_imx_4.1.15_2.1.0_ga

kernel:linux-imx-rel_imx_4.1.15_2.1.0_ga

devicetree:imx6ull-14x14-evk.dts

tslib:version 1.4

Qt:Qt5.6.0

Opencv:3.4.5

time:2019-11-29

1. 目的:把Opencv3.4.5 移植到imx6ull开发板上

根据之前的学习记录,从uboot->kernel、devicetree、根文件系统、Qt5.6.0都已经做好了,板子能正常运行,但最近看到大家说imx6ull能不能支持opencv,答案是肯定的,不然我就不会写这篇移植博客啦。

2.过程:

2.1 源文件下载

可以使用命令下wget https://github.com/opencv/opencv/archive/3.4.5.zip,也可以从官方下载,点击下载,然后使用 unzip + 文件名 解压。

2.2 库安装

使用如下命令来安装对应的库

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev cmake-qt-gui

2.3 配置

1、进入opencv-3.4.5目录下,建立两个文件夹,分别是build,install_opencv,分别代表着临时配置目录(build),和最终生成目录(install_opencv)。
2、进入build目录,执行sudo cmake-gui命令,打开cmake窗口。

IMX6ULL系列学习记录-移植Opencv3.4.5_第1张图片
说明:
第一步:where is the source code:填写opencv源码目录
第二步:where is the source binaries:填写刚刚新建的build目录
第三步:点击configure进行配置。

注意这里都需要填写绝对路径。

IMX6ULL系列学习记录-移植Opencv3.4.5_第2张图片
根据图片选择,主要是配置成交叉编译,并且为unix系统,没有Linux选项的哈。
IMX6ULL系列学习记录-移植Opencv3.4.5_第3张图片
说明:我的交叉编译器是arm-linux-gnueabihf-gcc 4.9.4 ,可以arm-linux-gnueabihf-gcc -v查看版本和路径,上图2中,填写交叉编译的版本,图3和图4是填写 arm-linux-gnueabihf-gcc 和 arm-linux-gnueabihf-g++ 的绝对路径,图5中是交叉编译绝对路径。最后点击 Finish进行配置。

注意,arm-linux-gnueabihf-gcc 和 arm-linux-gnueabihf-g++ 的绝对路径是交叉编译绝对路径下面的bin路径,看清楚了。

IMX6ULL系列学习记录-移植Opencv3.4.5_第4张图片

点击完Finish之后,会自动生成配置。但还需要修改相应的配置
第一个,修改生成的文件路径,这里选择之前手动创建的install_opencv

IMX6ULL系列学习记录-移植Opencv3.4.5_第5张图片

第二个,WITH_TIFF去掉勾选,一定不要选IMX6ULL系列学习记录-移植Opencv3.4.5_第6张图片
第三个,WITH_GTK去掉勾选,一定不要选IMX6ULL系列学习记录-移植Opencv3.4.5_第7张图片
最后编译配置

继上一步去掉勾选之后,点击Generate生成Makefile,然后编译

sudo make -j4

再安装

sudo make install

半个小时之后(看电脑配置了),会在刚刚创建的install_opencv目录里面看到bin include lib share四个目录
在这里插入图片描述
然后把install_opencv拷贝到根文件系统根目录下。
在这里插入图片描述
然后修改根文件系统下面的 etc/profile,在最后添加如图配置。
IMX6ULL系列学习记录-移植Opencv3.4.5_第8张图片

测试程序

自己使用Qt平台写了个简单的应用程序,里面使用到了Opencv库,功能:把彩色图转灰度,仅仅是做个测试而已。现象如下:
IMX6ULL系列学习记录-移植Opencv3.4.5_第9张图片

做了灰度变换之后

IMX6ULL系列学习记录-移植Opencv3.4.5_第10张图片

你可能感兴趣的:(IMX6ULL学习记录,单片机,linux,嵌入式硬件)