OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 9138|回复: 13

cvLoadImae的讀取問題(ARM BASE)!!

[复制链接]
发表于 2008-10-15 16:06:35 | 显示全部楼层 |阅读模式
我把cvLoadImae編譯過去ARM版,編譯可以過但是一直跑不出正確的結果,追蹤之下發現在
if( !reader->ReadHeader() )
{EXIT;}
就已經EXIT了!!
我是用靜態庫把HIGHGUI包過去,請問是只要把執行檔跟靜態褲包再一起就好了嗎??
還是還要做一些什麼動作...比如: .SO的link等等
回复

使用道具 举报

发表于 2008-10-21 23:45:19 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-22 21:28:58 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

感謝xueketan 大大的回應
此問題已解決...也不算啦!!只是改成BMP檔就可以了
那可以請問xueketan 大大遇到cvRound的問題是怎麼解決的嗎?
回复 支持 反对

使用道具 举报

发表于 2008-10-23 10:39:13 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!


是啊,我现在ARM上也是cvLoadImage出问题,结果重新make & makeinstall, 结果就神奇的好了,不知道怎么回事:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-23 21:01:42 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

[quote="xueketan":znsjon8v]你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!


是啊,我现在ARM上也是cvLoadImage出问题,结果重新make & makeinstall, 结果就神奇的好了,不知道怎么回事:)[/quote:znsjon8v]


好好喔...我目前還是不能讀JPG檔...請問大大編譯時所下的指令是...
我的是./configure --host=arm-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/usr/include
回复 支持 反对

使用道具 举报

发表于 2008-10-24 10:32:38 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

[quote="updayday2008":2zb59jx3][quote="xueketan":2zb59jx3]你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!


是啊,我现在ARM上也是cvLoadImage出问题,结果重新make & makeinstall, 结果就神奇的好了,不知道怎么回事:)[/quote:2zb59jx3]


好好喔...我目前還是不能讀JPG檔...請問大大編譯時所下的指令是...
我的是./configure --host=arm-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/usr/include[/quote:2zb59jx3]


没错,就是这样的,不过注意设置环境变量的时候,./configure的用户变量arm-linux-g++的目录要设置, 另外make install是sudo,所以root的环境变量arm-linux-g++的目录也要设置
回复 支持 反对

使用道具 举报

发表于 2008-10-24 10:34:45 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!

cvRound这个问题我倒是没有碰到过,我的是OK的,可能跟ARM的浮点模拟运算的设置有关吧,ARM自身没有浮点运算单元。
回复 支持 反对

使用道具 举报

发表于 2008-10-24 22:06:37 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

感謝xueketan 大大的回應
此問題已解決...也不算啦!!只是改成BMP檔就可以了
那可以請問xueketan 大大遇到cvRound的問題是怎麼解決的嗎?
CV_INLINE  int  cvRound( double value )
{
#if CV_SSE2
    __m128d t = _mm_load_sd( &value );
    return _mm_cvtsd_si32(t);
#elif defined WIN32 && !defined WIN64 && defined _MSC_VER
    int t;
    __asm
    {
        fld value;
        fistp t;
    }
    return t;
#elif (defined HAVE_LRINT) || (defined WIN64 && !defined EM64T && defined CV_ICC)
    return (int)lrint(value);
#else
    /*
     the algorithm was taken from Agner Fog\'s optimization guide
     at <!-- m --><a class=\"postlink\" href=\"http://www.agner.org/assem\">http://www.agner.org/assem</a><!-- m -->
     */
    Cv64suf temp;
    temp.f = value + 6755399441055744.0;
    return (int)temp.u;
#endif
}

当初是把6755399441055744.0这个数字去掉了……部分函数运行正常了!我做的是摄像头标定程序,到后面IPPI_CALL类的函数就没办法继续了,暂搁置中!呵呵……看你们弄得有声有色哈……加油哈……等跑下你们的程序,可能也确实我的设置有些问题,比如跳到Cv64suf temp这个结构里,怎么也想不通,觉得不应该是64位的结构呀!共勉……
回复 支持 反对

使用道具 举报

发表于 2008-10-24 22:08:27 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

[quote=&quot;xueketan&quot;:3pqbnysu]你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!

cvRound这个问题我倒是没有碰到过,我的是OK的,可能跟ARM的浮点模拟运算的设置有关吧,ARM自身没有浮点运算单元。[/quote:3pqbnysu]
确实啊……浮点运算有困难啊……不知是否软浮点可以解决……探讨中
另:你是在内核编译的时候加入硬件浮点选项了吗!?
回复 支持 反对

使用道具 举报

发表于 2008-10-27 14:43:31 | 显示全部楼层

cvLoadImae的讀取問題(ARM BASE)!!

[quote=&quot;updayday2008&quot;:3b1nge29][quote=&quot;xueketan&quot;:3b1nge29]你要是能运行就说明跟库编译关系不大,如果想用静态库编译程序,建议把生成的动态库删掉,否则默认是加载动态库!跟一跟那个函数吧……OpenCV的底层函数在ARM上跑有时会有些问题,像CvRound做不出来正确的结果!

cvRound这个问题我倒是没有碰到过,我的是OK的,可能跟ARM的浮点模拟运算的设置有关吧,ARM自身没有浮点运算单元。[/quote:3b1nge29]
确实啊……浮点运算有困难啊……不知是否软浮点可以解决……探讨中
另:你是在内核编译的时候加入硬件浮点选项了吗!?[/quote:3b1nge29]

我现在就是软浮点,慢的要死, ./facedetect对320x240的BMP要运行7s
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-27 09:55 , Processed in 0.011126 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表