将opencv移植到zedboard板

来源:互联网 发布:淘宝装修模板轮播大图 编辑:程序博客网 时间:2024/06/06 05:45

Opencv移植(P203)

由于OpenCV从2.0以后的版本开始都是使用Cmake进行配置管理的,因此我们需要安装相关的工具(对于PC机上OpenCV的本地编译,可以参考官方网站上的Installation in Linux),交叉编译的情况下我们需要安装cmake以及cmake-gui(包含在cmake-qt-gui中):

1.      cmake下载安装:

yum  install  cmake 

mkdir  build

cd  build cmake-gui

2.      解压opencv2.3.1:

tar   -zxf  opencv-2.3.1.tar.bz  -C /YOUR/PATH(解压路径)

3.      进入源码目录,新建一个build文件夹,进入build文件夹

cd  opencv-2.3.1

 

4.      在文件夹build中新建toolchain.cmake文档,并写入如下内容

set(CMAKE_SYSTEM_NAME Linux)

set(CMAKE_SYSTEM_PROCESSOR arm)

set(CMAKE_C_COMPILER /home/tk/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-gcc)

set(CMAKE_CXX_COMPILER/home/tk/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-g++)

set(CMAKE_FIND_ROOT_PATH /home/tk/work/tk/code/solution/opencv/rebuild/)

5.      进行cmake的配置:

cmake  -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake  ../

注意:

1. cmake的配置过程会修改OpenCV源码中的内容,因此如果配置失败的话请从解压源码开始从头来过.

2. 配置过程开始之后会出现一堆的配置信息,如果出现问题请仔细参考配置信息.

6.      ccmake  ..

        配置的时候,下面要关闭(置OFF):

WITH_1394, CUDA, EIGEN, FFMPEG, GSTREAMER, GTK, JASPER, JPEG,OPENEXR, PNG, PVAPI, QT, QT_OPENGL, TBB, TIFF, UNICAP, V4L, XIN

安装路径CMAKE_INSTALL_PREFIX可设置成你期待的安装路径(我的改过貌似不管用,cmake的时候默认路径/usr/local下,若不修改,则装到/usr/local下)

配置完按c,再按g

7.      安装

make

make  install

编译完成后生成四个目录:bin,lib,include,share

将lib里的文件放到板子文件系统的/usr/lib下即可

参考http://www.eefocus.com/Moonwolf/blog/13-07/295980_782e9.html

     http://www.openhw.org/thinki_cao/blog/13-06/294603_bb030.html

linux主机上完成opencv相关的编码工作后,在使用交叉编译器编译代码时需要使用-I-L参数来制定链接库所在的路径:

arm-xilinx-linux-gnueabi-g++ ./facedet.cpp -I/home/feuwu/zedboard/olib/buildlib/build/include/opencv -I/home/feuwu/zedboard/olib/buildlib/build/include/-L/home/feuwu/zedboard/olib/buildlib/build/lib/ -lopencv_core -lopencv_imgproc-lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d-lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann-o ./facedet_arm.o

 

Zedboard上测试opencv

1.将PC上生成的lib文件中的所有文件copy到板子的文件系统中的/usr/lib中

2.将PC上编译生成的可执行文件(如edge_detection)连同lena.bmp(一个.bmp格式的文件)一同拷入到文件系统当中

3.启动zedboard上的linux,运行命令

./edge_detection  ./lena.bmp ./lena_edge.bmp

回车之后就会生成lena_edge.bmp

 

 

0 0
原创粉丝点击