日期:2014-05-16  浏览次数:20763 次

我也来说说Linux下Qt+opencv2.1移植到tiny6410

终于把opencv移植好了,心里那个爽啊,感觉整个世界都在为我让步。呵呵,废话少说,进入正题。

我用的系统是Fedora14(其实哪个版本都差不多的),确保自己的系统已经成功安装交叉编译环境,关于交叉编译环境的搭建就不必多说了,网上的教程一大堆呢。

你的系统上必须安装CMake,opencv2.0以后的版本必须用CMake来创建makefile,这也不难,网上搜搜。

小技巧:我在安装Fedora的时候把能安装的包都安装了,因为我是做开发的,这样会省去我开发中的很多工作。

那么我们就开始编译opencv吧,跟我走,Go,Go,Go!!!

1、准备好opencv2.1的源码包(我把我用的放在了网盘上)下载地址:http://pan.baidu.com/share/link?shareid=378302&uk=3305761005

2、解压OpenCV 2.1到/usr/local/OpenCV-2.1.0目录下

3、创建/usr/local/opencv-arm/目录,作为CMake编译arm版本的工作目录

4、在X环境下,运行cmake-gui如果你本机原来就有安装了cmake,那么cmake-gui应该就在/usr/bin目录下(find / -name cmake-gui 这个命令查找一下也可以的啊)


5、在终端界面,进入/usr/local/opencv-arm目录,运行make

    编译发现下面错误:

    Linking CXX executable ../../bin/opencv_createsamples

    ……

    …… 

6、我来接你怎么解决,修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,重新编译,错误消除

7、运行make install ,将opencv生成的库和头文件安装到/usr/local/arm/lib/opencv

我把我自己编译好的库也共享给大家,可以直接拿来用。下载地址:http://pan.baidu.com/share/link?shareid=372078&uk=3305761005

接下来就很好办了,在Qt下使用opencv库  ,在 .pro中加入下面的东西:

INCLUDEPATH += /usr/local/arm/lib/opencv/include/opencv

LIBS += -L/usr/local/arm/lib/opencv/lib -lcvaux -lcv -lcxcore -lhighgui -lml

注意INCLUDEPATH是编译后的opencv,头文件所在的目录,LIBS是.so文件所在的目录

到现在就好了,想怎么写就怎么写你的Qt程序了。

参考文章:

Linux下opencv+Qt的移植 http://www.cnblogs.com/s_agapo/archive/2011/11/24/2262346.html

Qt下适用opencv库 http://blog.sina.com.cn/s/blog_5c70dfc80100qwi3.html

编译opencv for arm-linux http://blog.csdn.net/noodies/article/details/5798434