完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 eehome 于 2013-1-5 09:57 编辑
Linux下移植OpenCV + Qt 到ARM(tiny6410)总结 转CSDN 下面的文字比较多啊,主要是加入了很多自己的感慨啊,感叹啊啥的,其实我觉得已经是罪简单的方法了,我基本上把我遇到的问题全部罗列了,大家可以参考一下~其实很多问题都是在走弯路,我希望后面的人更顺畅一点吧~ 目的:将OpenCV2.0或者2.1+Qt移植到ARM上 目标板Tiny6410 PC系统VM1.2+Fedora9(用这个吧,方便)
Fedora9的包不容易下,不过我忘了我怎么下的···迅雷貌似可以。 我使用的虚拟机,注意必须要高于1.2的版本,只有他们才里面有Fedora的支持。比较方便。就按照提示一步一步走就行了,建议给的空间大一点,默认是20G,给个40G没问题。 第一个要解决的问题就是虚拟机和PC机的文件拷贝,大家可以参考网上的很多经验,不要用VM tools,我发现传输文件的时候它基本上传输不完全,我用的是网络连接,有两种,在VM的设置里可以找到,安装Fedora的时候也会问你选择Bridge还是NAT,我刚开始用的前者,但后来突然又用不了了,就把VM设置里的改为了NAT,就可以了,至于具体的设置,友善的Fedora安装文档里有。 我使用Fedora的一个巨大的bug就是它居然只给我的根目录留下了不到一个1G的空间,因为后面要求大部分软件都安装在/opt下,所以没地方!!!!而我的/home文件夹下居然有38个G····我擦! 如果你碰到了这个,那告诉你,节约点用吧,还够用的其实。~ 别听教程的把很多软件包都复制到/opt下就可以了,放自己的/home下吧~tar的时候改个源路径就可以了 ~但是目标路径按照手册别变啊!!!
我用的是arm-linux-gcc-4.5.1(友善之臂光盘里有),各种版本基本上都尝试过,网上建议在编译Qt时用4.1.2版本,我没下载到。安装方法: 将安装包用sd卡复制到自己的任何目录下,注意我们用的是友善之臂提供的安装包,所以它里面有自己设计的路径,这个非常重要,不能错,它指定安装在/opt下,我们要做的也很简单,只需要将其解压到根目录下,它就可以自动安装到正确的目录。 建议用root用户登录,方便!!! 可以直接双击安装包打开,安装到根目录下,解压完检查一下是不是 /opt/FriendlyARM/。。。。 这个目录下。然后在PATH路径中加入该安装路径,方法有两种,一种是修改root的/root/.bashrc文件,用gedit打开,或者修改/etc/profile文件,都行,在其中加入 export PATH=你的安装目录(应该为/opt/FriendlyARM/。。。。/bin):$PATH 即可,修改前者的话可能要logout重新登录一下,后者用 source /etc/profile 命令即可。
移植过2.0和2.1两个版本,应该都问题,问题是路径的设置。 l 2.0是用configure配置,网上有方法,我用的 http://blog.csdn.net/gfocean/archive/2011/04/22/6341155.aspx 这个网址上的配置,具体为 ./configure --host=arm-linux --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --without-gtk --enable-static --disable-shared --disable-apps 没有指定安装路径,全部都安装在/usr/local/下,也可以指定安装路径,见 http://blog.csdn.net/chennxi/archive/2010/12/17/6082039.aspx l 2.1可以用CMAKE配置,我用的版本是cmake-2.8.4-Linux-i386.tar.tz,网上比较容易下载。 配置方式可以参考 http://blog.csdn.net/noodies/archive/2010/08/09/5798434.aspx 在第一次点configure的时候注意选择第三个选项,然后就可以安装网站说的配置了。
之后输入make install(很快),就可以在安装路径下找到你的文件了。 如果要在X86上用OpenCV,那么就不能用上面的方法,因为上面都是为了编译用到ARM上的库,但是稍微修改方法也可以生成X86的库。可以参考 http://blog.csdn.net/ranruoyu1003/archive/2010/12/26/6098847.aspx 将编译好的库用sd卡拷到6410的/lib下即可,如果运行有问题(opencv的错误运行时一般会给出让你知道是什么的错误),可以将文件放到和你PC机上目录路径相同的地方。 注意一点: 6410的linux不支持OpenCV自己的Highgui,所以不能在目标板上使用cvNameWidow(),cvWaitKey(),cvShowImage()等显示函数,但是可以利用里面的cvLoad()等函数。正因为如此,安装支持OpenCV的GTK相当复杂,我们选择用Qt来显示。
Qt有很多版本,我说说我的经验。在友善的手册里大家要配置linux开发环境需要装的东西真是不计其数···我直接没装了,这也导致我即使按照指示手册一步一步来,也出现了编译的bug。特别是Qaptia2.2···我编译了无数遍,都是到最后bug了···不能这样啊!!!编译一次基本一个小时~~~~时间就这么浪费的啊!!! 我直接用的Qt4.7,这个按照手册上面的方式编译arm版本没有问题~(我一开始用的ubuntu,编译也成功,但是在板子上运行提示错误啊!这直接导致我又装了个Fedora)。 安装手册编译(贼慢啊)完后(注意手册提醒的安装目录)压缩拷到sd卡再解压就可以了~我没有按照手册指示删除来的那个Qt4.7,不过用Fedora编译的话可以删~之后你就可以检验你的库是否移植成功了,祝你好运! 提醒一下,这个地方网上建议用arm-linux-4.1.2,因为很多人用这个编译的Qt没有segmentation fault,我没用,自然就碰到了,不过还好,只有部分语句不能使用,我就用OpenCV代替了··· 最后,注意PATH的修改。
这个东西一定要去下那个422M东东啊,我给个网址 http://get.qt.nokia.com/qtsdk/ 我当时下了个68M的吧,结果那个东西没有SDK,结果就找不到我安装的Qt4.7,老是提醒找不到可用的version。 这个东西是真好安装,最喜欢了,和windows下一样···好熟悉啊!!!
要在Qt里用OpenCV岂是一件容易的事?我差点因为这个就放弃了~~~(>_<)~~~~ 不过如果你没遇到一下的问题,那你千万别告诉我~~~不然会气死我的!!! 1) Qt pro的配置 需要在你的Qt工程**.pro文件里加入一些话,这个网址可以参考一下 http://www.linuxidc.com/Linux/2010-08/28049.htm 2) 最怕编译时出现这个啊 http://www.cnblogs.com/lib/libcv.so,needed by****/*.so not foud (try use –rpath or –rpath-link) 这个其实是不是个问题呢,我自己解决后发现他也许不是个问题(不会影响到运行),但是可以解决,参考 http://blog.sina.com.cn/s/blog_602f87700100nyda.html 在LFLAGS中后面添加‘:’号再添加和前面一样的那个东东···改到自己的路径就可以了···· 3) 最后的最后 被segmentation fault缠住了,我不加入OpencV的这些配置时,Qt自己的load(imag)很好使,我成功让lena显示出来了,但是加入OpenCV的东西而且按照上面配置好后,bug就来了···我一度愁苦啊!最后不得不放弃load,而用OpenCV的loadImage····哎 不知道这是何故啊!不过也可以用了,OpenCV能够正常工作,Qt的显示也正常。 4) OpenCV照片用Qt显示的办法 网上查一下很多,但是有个简单的 http://blog.csdn.net/gfocean/archive/2011/04/22/6341155.aspx 最后就是将IplImage转换为QImage格式 cvCvtColor(img,img,CV_BGR2RGB); uchar *imgData=(uchar *)img->imageData; image=new QImage(imgData,img->width,img->height,QImage::Format_RGB888); 哎,搞了这么久,写个经验吧~ 不枉费了自己的熬夜~~~ |
|
相关推荐
|
|
支持!!!!!!!!!!!!!
|
|
|
|
|
|
{:soso__8904117572951639464_1:}{:soso__8904117572951639464_1:}{:soso__16859608983998755450_2:}呵呵`很不错的东西支持下吧``
唐狮专卖店 http://www.tangshi2.com/index.php/22 月光石高端女装 http://www.yueguangs.com/index.php/archives/20 |
|
|
|
|
|
即使金色的阳光不再耀眼,世界的春光不再明媚,星辰哈尔滨牛皮癣的光芒不再永恒,我们依然要放飞内心小小的翅膀,盘旋在未来的天空骄傲地展望。纵然每天都有淡淡忧伤,身边尽是断树残砖枯枝萎叶,庭院总有深深一蓬秋草,石阶倾斜玉栏拆裂,可是我们相信尘埃覆盖下的美好终会再现光彩。纵使星源沉沦,高楼倾圮,陆地沉陷,但我们对未来的信心,绝不会削减。 |
|
|
|
|
|
你好,我在qt与opencv结合的时候,编译时显示arm-linux-g++:-E or -x required when input is from standard input 错误。不知该怎么设置。具体qt和opencv都编译好后怎么结合啊?纠结在这个问题好几天了。
|
|
|
|
|
|
788 浏览 0 评论
4271 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2529 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2929 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31479 浏览 11 评论
72920 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 15:20 , Processed in 0.780744 second(s), Total 85, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号