opencv移植arm流程

ARM 243浏览

编译opencv:

一.在github上获取opencv源码tar.gz压缩包,版本为2.4.13,并将其拷贝到linux下,将其解压。

二.在linux下安装cmake和cmake-gui:

        apt-get install cmake cmake-gui

三.进入opencv源码目录,执行cmake-gui

四.出现图形化操作界面,选择源码目录和目标建立目录(需要提前创建),点击configure,将with_cuda和with_tiff去掉勾选,为cmake_install_prefix分配一个目录,通常为/usr/local/opencv_arm(需要创建)。

五.generate,选择cross_compiling,点击next,因为我们我们需要移植到arm上,因此需选为交叉编译器,OS:linux C:arm-none-linux-gnueabi-gcc C++:arm-none-linux-gnueabi-g++ ,然后再点击generate,在编译路径下就生成了makefile。

六.进入编译目录,修改CMakeCach.txt文件,在cmake_exe_linker_flags=后加上-lpthread -lrt -ldl

七.执行make和make install,就在之前为cmake_install_prefix分配的目录下生成了opencv库文件和源文件。

测试:

将生成好的lib库中所有文件复制到交叉编译器的标准库lib下,include头文件下的opencv和opencv2复制到标准库include下,编写工程文件和makefile,工程文件添加 #include <opencv/cv.h>,Makefile如下:

CROSS_CC=arm-xilinx-linux-gnueabi-gcc

CPPFLAGS=-lopencv_core -lopencv_imgproc -lopencv_objdetect -lopencv_highgui -lpthread -lrt -ldl -lm
all:
$(CROSS_CC) ${CPPFLAGS} -g -Wall -o example example.c 
clean:

rm -f  example

这样就生成了执行文件example,将其复制到嵌入式系统中即可运行。