微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > opencv2.4.9移植迅为4412开发板文档

opencv2.4.9移植迅为4412开发板文档

时间:12-14 来源:互联网 点击:

本文转自:http://www.topeetboard.com

OpenCV是目前开源项目中最著名的基于机器视觉方向的图像处理的开发包,目前已经有被移植到嵌入式Linux环境上。本文介绍了OpenCV交叉编译的基本步骤。

一、编译环境及库文件
linux环境:ubuntu12.04
交叉编译:4.3.2
arm板子:iTOP4412开发板
libz:        
libjpeg:      
libpng:      
libyasm:      
opencv:      
libx264:      
libxvid:      
lffmpeg:      
cmake:      
二、opencv-2.4.9的移植过程
1、libz的交叉编译:
# ./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/zlib-install --shared  
修改makefile
CC=arm-linux-gcc
AR=arm-linux-ar
RANLIB=arm-linux-ranlib
CDSHARED=arm-linux-gcc -shared -wl, -soname,libz.so.1,--version-script,zl lib.map (不一样没关系只改前面编译器)
#make
#make install
2、libjpeg的交叉编译:
#./configure --host=arm-linux --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libjpeg-install --enable-shared --enable-static
#make
#make install
3、libpng的交叉编译:
#./configure --host=arm-linux --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libpng-install --enable-shared --enable-static
#make
#make install
4、yasm的交叉编译:
#./configure --host=arm-linux --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/yasm-install --enable-shared --enable-static
#make
#make install
5、libx264的交叉编译:
#CC=arm-linux-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libx264-install
#make
#make install
6、libxvid的交叉编译:
#cd build/generic
#./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libxvid-install --host=arm-linux  --disable-assembly
#make
#make install
7、ffmpeg的交叉编译:
./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/ffmpeg-install --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-linux-gcc --enable-swscale
#make
#make install
**************************************************************************
到此所有依赖库编译安装完成
安装目录在:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/
每个库有各自的-install文件夹
新建文件夹
#mkdir /usr/local/arm/4.3.2/arm-none-linux-gnueabi/opencv-depend/
然后拷贝所有-install下的lib下的文件到opencv-depend目录下
***************************************************************************
8.cmake-gui安装(自己下载)
到官网上下载已经编译好的cmake-2.8.8-Linux-i386.tar,gz,解压就可以了
9、opencv2.4.9的交叉编译:
用到的主要目录说明:
交叉编译工具链所在目录     /usr/local/arm/4.3.2/
安装opencv的目录         /usr/local/arm/opencv-install
opencv源码所在目录          /usr/local/arm/opencv2.4.9
编译好的opencv库所在目录      /usr/local/arm/opencv-2.4.2/build
10.配置cmake(这一步的目的是配置编译器并让cmake-gui找到所有共享库不然cmake-gui会少很多选项因为没有发现依赖库,例如你直接cmake-gui就没有v4l选项,直接导致移植成功后无法打开摄像头,别问我是怎么知道的..说多了都是泪啊)
#cd opencv-2.4.9
#mkdir build
#cd build
#vim toolchain.cmake
内容如下
###########user defined#############
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER arm-none-linux-gnueabi-gcc )
set( CMAKE_CXX_COMPILER arm-none-linux-gnueabi-g++ )
###########user defined#############
set( CMAKE_FIND_ROOT_PATH" /usr/local/arm/4.3.2/arm-none-linux-gnueabi/opencv-depend/ " )
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
######################################
然后执行这一步
#cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../
配置cmake-gui
#cmake-gui

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top