讯为iTOP4412开发板ARM-linux 交叉编译opencv
在4412板子上使用opencv,一般来说我们首先需要交叉编译一下opencv源码,得到arm平台能识别的代码(具体的交叉编译过程参考这里),我们这里已经交叉编译好了一个版本的OpenCV,可以直接下载(这个版本的opencv是利用opencv-2.4.10的源码在ubuntu12.04系统中交叉编译完成的)。
百度网盘链接: https://pan.baidu.com/s/1dG1Lwx7
密码: mhpj
优快云下载:http://download.youkuaiyun.com/download/chenhuan20123/10208882
下面需要把下载好的opencv-lib-arm.tar.gz拷贝到arm平台中:
- 首先将下载好的opencv-lib-arm.tar.gz文件拷贝arm板子上。
- 再将文件拷贝到/usr/local/app文件夹下。
解压opencv-lib-arm.tar.gz文件
tar -zxvf opencv-lib-arm.tar.gz ls #查看文件下的内容,可以看到opencv-lib-arm文件夹
下面开始opencv的配置
编辑库连接配置文件
cd /etc/ld.so.conf.d vim opencv.conf
添加如下内容:
/usr/local/app/opencv-lib-arm/lib
- 然后执行
ldconfig
命令,使之生效。 添加环境变量
vim /etc/bash.bashrc
,在文件最后添加PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/app/opencv-lib-arm/lib/pkgconfig export PKG_CONFIG_PATH
保存之后,执行
source /etc/bash.bashrc
命令,使之生效。- 至此,OpenCV的移植、配置全部完成!!!
下面利用一段小程序测试opencv是否安装正确:
测试的源程序文件如下:
文件名:main.cpp#include <iostream> #inluce <opencv2/opencv.hpp> #include "fstream" using namespace std; using namespace cv; int main() { Mat img; img=Mat::ones(1000,1000,CV_8U); img=img*255; imshow("a white picture",img); waitKey(1000); getchar(); return 0; }
进入到存放main.cpp文件的文件夹下,执行下面的命令,对程序进行编译:
gcc main.cpp -o run -lpthread -lrt `pkg-config --libs --cflags opencv`
其中gcc是编译用的编译器;main.cpp为要进行编译的程序;run为编译之后生成的可执行二进制程序,可以任意命名。
然后执行下面的命令
./run
若出现一张白图说明opencv配置成功。
参考文章:http://blog.youkuaiyun.com/herhero/article/details/50913150#insertcode