Linux Qt+opencv2.3.1在tiny6410上的移植
2014-04-28 00:30
225 查看
opencv新手,挣扎了两天总算是移植成功了。成功解决一个问题时的喜悦,如果你已经很长时间没有感受到了,那么对不起,你已经老了。好了,感受在这咱就不多说了,现在切入正题。
linux环境:Fedora9
arm开发板:tiny6410
交叉编译器:cmake2.8.12.2
opencv版本:2.3.1
opencv2.0版本以后就不再是用configure配置,可以是用cmake配置。网上碰到好多都是opencv2.0之前的,所以编译用了好长时间,也碰到了好多问题,查了好多资料才解决。总结,对于初学者,千万不要用最新版本的各种软件,不然编译起来网上找不到参考文档会很痛苦,很痛苦!!!。
首先从官网里下载cmake和opencv,arm-linux-gcc这里咱就不多说了,我用的是FriendlARM Tiny6410光盘里的,安装也是按照光盘说明安装的。
分别解压cmake和opencv
交叉编译opencv for pc
在 /opt/FriendlyARM/opencv下新建一个文件夹opencv-pc作为cmake的工作目录。打开cmake-gui。‘
where is the source code :/opt/FriendlyARM/opencv/opencv2.3.1(opencv所在目录)
where to the build binaries:/opt/FriendlyARM/opencv/opencv-pc
然后单击configure,对话框填写如下
next,下一个对话框不用管它,generate。然后终端进入opencv-pc,make,有一些错误,不用管它,
make install安装opencv
耐心的等待吧,颜色挺好看的
opencv默认安装在/usr/local。
安装完后还需要:
添加库路径
#gedit /etc/ld.so.conf.d/opencv.conf
加入/usr/local/lib
更新系统库
#ldconfig
设置环境变量
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
交叉编译成功。在Qt4.7上测试。
.pro文件
由于还不知道的库的功能,所以我把所有的库都连接上了。
main.cpp
然后运行图片就出来了
交叉编译opencv for arm-linux
交叉编译的过程与pc机相似
新建opencv-arm。懒得再截图了,就复制了上一个。一定要把opencv-pc换成opencv-arm!!!
next,关键在这个对话框
arm-linux不用纠结,填上就行。当初我一看Operating System以为需要与系统一致呢,其实不是。然后compilers分别填arm-linux-gcc和arm-linux-g++所在目录。Target Root填的原先见得目录。
Finish,然后修改CMAKE_INSTALL_PREFIX的目录,因为先前在pc机中已经把opencv安装在了/usr/local,为避免冲突,在此目录下新建文件夹arm,选择arm目录
然后还要去掉WITH_TIFF的勾(勾上可能需要安装一些东西),不然稍后编译可能会出错。之后configure、generate。
终端进入opencv-arm,然后make。如果不出意料的话你会出现这个问题
当时我就在这个问题卡了一天。此时应该
修改OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h文件
在第63行的源码:{ return fabsl(x); }改为{ return fabs(x); }。
然后重新make。还会出现第二个问题
修改opencv_arm目录下的CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread
-lrt
再重新make一下,你懂得!这时应该就不会再出现问题。这个过程比刚才还要漫长n倍。慢慢等待吧
。
完成之后执行make install就可以安装了。安装在 /usr/local/arm上哦。
具体Qt+opencv移植到开发板上我还没用做。下次再更新。
苦逼的双休日又这样过去了。赶紧睡觉了。
如果你爱他,就让他学计算机,因为那里是天堂;
如果你恨他,就让他学计算机,因为那里是地狱。
linux环境:Fedora9
arm开发板:tiny6410
交叉编译器:cmake2.8.12.2
opencv版本:2.3.1
opencv2.0版本以后就不再是用configure配置,可以是用cmake配置。网上碰到好多都是opencv2.0之前的,所以编译用了好长时间,也碰到了好多问题,查了好多资料才解决。总结,对于初学者,千万不要用最新版本的各种软件,不然编译起来网上找不到参考文档会很痛苦,很痛苦!!!。
首先从官网里下载cmake和opencv,arm-linux-gcc这里咱就不多说了,我用的是FriendlARM Tiny6410光盘里的,安装也是按照光盘说明安装的。
分别解压cmake和opencv
交叉编译opencv for pc
在 /opt/FriendlyARM/opencv下新建一个文件夹opencv-pc作为cmake的工作目录。打开cmake-gui。‘
where is the source code :/opt/FriendlyARM/opencv/opencv2.3.1(opencv所在目录)
where to the build binaries:/opt/FriendlyARM/opencv/opencv-pc
然后单击configure,对话框填写如下
next,下一个对话框不用管它,generate。然后终端进入opencv-pc,make,有一些错误,不用管它,
make install安装opencv
耐心的等待吧,颜色挺好看的
opencv默认安装在/usr/local。
安装完后还需要:
添加库路径
#gedit /etc/ld.so.conf.d/opencv.conf
加入/usr/local/lib
更新系统库
#ldconfig
设置环境变量
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
交叉编译成功。在Qt4.7上测试。
.pro文件
由于还不知道的库的功能,所以我把所有的库都连接上了。
main.cpp
然后运行图片就出来了
交叉编译opencv for arm-linux
交叉编译的过程与pc机相似
新建opencv-arm。懒得再截图了,就复制了上一个。一定要把opencv-pc换成opencv-arm!!!
next,关键在这个对话框
arm-linux不用纠结,填上就行。当初我一看Operating System以为需要与系统一致呢,其实不是。然后compilers分别填arm-linux-gcc和arm-linux-g++所在目录。Target Root填的原先见得目录。
Finish,然后修改CMAKE_INSTALL_PREFIX的目录,因为先前在pc机中已经把opencv安装在了/usr/local,为避免冲突,在此目录下新建文件夹arm,选择arm目录
然后还要去掉WITH_TIFF的勾(勾上可能需要安装一些东西),不然稍后编译可能会出错。之后configure、generate。
终端进入opencv-arm,然后make。如果不出意料的话你会出现这个问题
当时我就在这个问题卡了一天。此时应该
修改OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h文件
在第63行的源码:{ return fabsl(x); }改为{ return fabs(x); }。
然后重新make。还会出现第二个问题
修改opencv_arm目录下的CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread
-lrt
再重新make一下,你懂得!这时应该就不会再出现问题。这个过程比刚才还要漫长n倍。慢慢等待吧
。
完成之后执行make install就可以安装了。安装在 /usr/local/arm上哦。
具体Qt+opencv移植到开发板上我还没用做。下次再更新。
苦逼的双休日又这样过去了。赶紧睡觉了。
如果你爱他,就让他学计算机,因为那里是天堂;
如果你恨他,就让他学计算机,因为那里是地狱。
相关文章推荐
- 移植opencv2.3.1 到tiny6410
- linux opencv2.3.1移植到tiny6410 支持视频读写
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结
- [嵌入式资料] Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转
- Android开发:安装NDK,移植OpenCV2.3.1,JNI调用OpenCV全过程
- tiny6410移植opencv
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结
- 移植opencv2.4.2到tiny6410的实例
- ubuntu10.10上移植opencv 2.3.1
- Android开发:安装NDK,移植OpenCV2.3.1,JNI调用OpenCV全过程
- 移植opencv2.4.2到tiny6410的实例
- opencv2.3.1在arm端的移植( 更新测试结果)
- Tiny6410的OpenCV2.4.2移植笔记
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转
- Android开发:安装NDK,移植OpenCV2.3.1,JNI调用OpenCV全过程
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转
- linux opencv2.3.1移植
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结