现在的位置: 首页 > 综合 > 正文

opencv移植到Hiveboard

2016年05月08日 ⁄ 综合 ⁄ 共 1236字 ⁄ 字号 评论关闭

Hiveboard是东南大学自主研发的一块嵌入式开发板,用的是北大的unicore处理器核。在纵海杯东南大学第六届嵌入式竞赛中,我们做的是基于Hiveboard的图像拼接技术。平台是opencv,因此需要移植到开发板上。参考了opencv在ARM上的移植,下面是具体移植的步骤:

由于Opencv2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。 ubuntu下安装cmake比较简单,

apt-get install cmake

我们选择的是opencv2.4.4版本,源码可到opencv网站下载

解压OpenCV压缩文件,得到文件夹,通过图形界面配置。

输入命令cmake-gui 打开cmake的gui界面,开始进行配置,配置过程如下面所示:

1、选定解压后的源文件和将要编译的文件目录,这个自己之前先建好。

2、点击Configure 选择工程类型,选择交叉编译,点击下一步。如下图所示:

3、在下图的界面中选择交叉编译工具链以及库文件相关信息,按照图中的进行填写,其中C、C++和Target Root为交叉编译工具链的实际路径,根据宿主机实际安装路径填写。 

4、点击Finsh完成初步配置。

5、此时主界面如下图所示,这时Cmake会读取程序的一些配置信息,可以对每一个编译选项进行修改,这里去掉WITH_TIFF支持并修改安装路径,其他配置可以根据需求选择,蓝色部分为配置输出路径,可按自己需求填写,/usr/uni-yi/是我自己最终交叉编译输出的路径。

6、配置完成后,点击Configure,生成界面如下:

7、再点击Generate生成界面如下图:

8、通过终端进入OpenCV-unicore目录,make编译,编译过程中出错如下 :

    原因是cmake不认识我定义的unicore32-linux系统标记,没有加上库pthread和rt的链接选项

    此时需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt

按照此方法更改对应文件,如下图所示:

此处在CMakeCache.txt 的173行,添加-lpthread -lrt,然后继续编译。编译过程十来分钟左右,编译成功结果如下:

9、运行make install进行安装,

在我的安装目录中就会多出以下几个文件夹: 

10、lib文件夹即生成的库文件,如下图所示:

拷贝到开发板对应的lib目录即可。 

移植完毕后可通过以下命令编译测试文件:

unicore32-linux-g++ image.cpp -o image -I/usr/uni-yi/include  -lopencv_core -lopencv_highgui -lpthread -lrt 

其中-I是你编译生成的的include目录,-lopencv_core, -lopencv_highgui,-lpthread,-lrt 是要链接的几个库。

抱歉!评论已关闭.