OpenCV2.0移植到SEP6200

本文详细介绍了一种非主流嵌入式板子上配置OpenCV的过程,包括编译、安装及环境变量设置等关键步骤,并分享了解决配置过程中遇到的问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近参加学校组织的嵌入式比赛,搞了一个很非主流的板子,虽然觉得不怎么样,但是毕竟是国产还是要支持一下的

废话不多说,下载源码和编译什么的我就直接跳过了,还有其他支持的库可以参考OpenCV在x86上的配置方法。
进入源码的目录,执行:

./configure --host=unicore32-linux --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=unicore32-linux-g++ CPPFLAGS=-I/usr/unicore/gnu-toolchain-unicore/uc4-1.0.5-hard/unicore32-linux/include --prefix=/usr/opencv
(此步骤只适用与OpenCV2.2以前的版本,以后的版本省去了这一步,直接使用cmake,不过原理应该差不多,大家可以自己尝试一下)

然后是

make
make install
当安装完成以后就是环境变量的配置了

sudo gedit /etc/bash.bashrc
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/opencv/lib/pkgconfig

接着,根据需要在/usr/opencv/lib/pkgconfig/opencv.pc的Libs项中加入参数-lpthread、-ldl之类,例如
Libs: -L${libdir} -lcv -lcxcore -lcvaux -lpthread -lrt -lm -lpng -ljpeg -lz -lm –ldl

编译时使用(如果出现undefined reference,后面的几个引用可以换着顺序试一下)

unicore32-linux-g++ -o test test.cpp `pkg-config opencv --cflags --libs`

或者使用

unicore32-linux-g++ test.c -o test -I/usr/opencv/include/opencv -L/usr/opencv/lib -lcv -lcxcore -lpthread -lrt -lcvaux -lm -lpng -ljpeg -lz -lml -lhighgui –ldl

注意:因为我用的是Qt的图形库,所以这里我编译的时候有--without -gtk参数,可能无法直接运行,所以不要写一些显示相关的函数


遇到的错误:

在执行./configure时,automake生成Makefile文件会提示错误

Invalid configuration `unicore32-linux': machine `unicore32' not recognized
这时候需要修改automake文件下的config.sub文件

vim ./automake/config.sub
在case $basic_machine in下增加

| unicore32 \
在# Recognize the basic CPU types with company name下增加

| unicore32-* \


参考文章

http://hi.baidu.com/hexi1985/item/61425feba9a921f6e1a5d44a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值