OpenCV在龙芯平台上的移植

opencv 2.2.0的移植方法:


按照文章:“OpenCV在ARM上的移植 - emouse - 博客园”给出的步骤方法进行


修改的地方:


1、原指定交叉编译器为arm的都改为mipsel,交叉编译器的路径也为Redhat虚拟机中的实际路径/usr/local/mips-linux-gcc/gcc-3.4.6-2f;


2、在/opt/opencv/opencv-mips文件夹里(这个文件夹里存放的是用Cmake-gui对OpenCV-2.2.0进行设置编译之后产生的文件),修改CMakeCache.txt文件第80行,将CMAKE_EXE_LINKER_FLAGS:STRING=' '改为:CMAKE_EXE_LINKER_FLAGS:STRING=-lrt (不是文章里说的173行添加:-lpthread -lrt)。


3、设置完Cmake-gui之后,用make命令编译OpenCV-2.2.0的时候产生了:OpenCV-2.2.0/modules/ml/src/gbt.cpp中'expl'未定义的错误,将此文件第14行和第16行注释掉,就不再报错了;


4、make install之后产生的文件在/usr/local/mips-linux-gcc文件夹里。


//5、将/usr/local/mips-linux-gcc文件夹里的文件转移到/usr/local/opencv-mips-2.20中。


6、卸载时用终端进入到/opt/opencv/opencv-mips目录里,然后输入:make install。








opencv 1.0.0的移植方法:


1、将源码opencv-1.0.0.tar-for-linux.gz放在虚拟机/opt/opencv文件夹里;


2、从终端中输入tar zxvf opencv-1.0.0.tar-for-linux.gz解压到本文件夹中,生成目录opencv-1.0.0;


3、进入目录opencv-1.0.0,如果想把opencv安装在/opt/opencv/opencv-mips,则在终端中输入:./configure --host=mipsel-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=mipsel-linux-g++ CPPFLAGS=-I/usr/include --prefix=/opt/opencv/opencv-mips --libdir=/opt/opencv/opencv-mips/lib --includedir=/opt/opencv/opencv-mips/include --datadir=/opt/opencv/opencv-mips/data  回车;


如果想把opencv安装在/usr/local,则在终端中输入:./configure --host=mipsel-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=mipsel-linux-g++ CPPFLAGS=-I/usr/include  回车;


4、运行完configure之后入无错误则继续在终端中输入make,进行编译;这时会有错误产生:impossible constraint in 'asm',打开../opencv-1.0.0/otherlibs/highgui文件夹里的makefile文件,将155行:-I/usr/include用#注释掉,将266行:/usr/include用#注释掉;再次make,应该无错误产生;


5、make install之后生成的文件放到了第3步指定的文件夹中,在虚拟机中已经分别在这两个文件夹中都生产了opencv-1.0.0编译后的文件;


6、编辑/etc/profile,在里面添加一行:export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig,接着需要把/usr/local/lib/pkgconfig里opencv.pc文件的第11行修改为:Libs: -L${libdir} -lcxcore -lcv -lhighgui -lcvaux -lml -lpthread -ldl;


7、找到opencv-1.0.0 sample文件夹里的drawing.c文件,将它拷贝到/software/facedetect文件夹里,在这里运行:mipsel-linux-g++ drawing.c -o drawing `pkg-config --cflags --libs opencv` ,会生成drawing可执行文件;


8、在开发板/etc/profile文件里export LD_LIBRARY_PATH=/lib:/usr/lib语句后面增加“:/lib/opencv”;


9、开发板的终端控制台通过nfs服务连接到虚拟机,将虚拟机/opt/opencv/opencv-mips/lib文件更名为opencv,放到nfs共享文件夹里,在开发板的终端控制台输入命令cp -r opencv /lib,将opencv动态链接库拷贝到开发板/lib/opencv文件夹里;


10、在开发板中运行drawing,会提示不支持GTK,因为opencv在linux里不支持GTK方法,需要修改drawing.c,让其不使用GTK。





























评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值