激情九九,六月婷婷七月丁香,天天五月天丁香婷婷深爱综合,国产色一区,国产一区二区三区免费在线观看,91最新网站

移植Opencv 1.10到WINCE/WM

來源:網(wǎng)絡(luò)

點擊:2081

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: Windows-Mobile,Opencv 1.10,移植

      如何把opencv1.10移植到wince/WM。因為如果懂得裁剪opencv,那么就可以在更多設(shè)備(PC,手機,開發(fā)板)上玩更多更好玩的算法,因此,移植和裁剪opencv還是很有必要的。我已經(jīng)移植到wince/WM上的opencv1.10工程可以到這里:http://www.pudn.com/downloads270/sourcecode/embed/detail1235697.html,工程只含cv和cvcore這兩個核心項目,highgui與系統(tǒng)粘合度太大,不好移植,遲點會貼出實現(xiàn)部分highgui功能的例子。

      本文參考:http://www.computer-vision-software.com/blog/2009/03/running-opencv-facedetect-sample-on-pocket-pc/

      接下來,廢話不說,直接把移植cv和cvcore的步驟貼上:

      【CVCORE項目】

      cxmisc.h, line 125 to

      #elif defined WIN32 || defined WIN64 || defined WINCE

      cxswitcher.cpp,由于這個文件修改很多,所以建議從尾部往上修改,這樣容易根據(jù)行數(shù)查找。

      第六步line 57 to

      #if defined WIN32 || defined WIN64 || defined WINCE

      第五步 line 90 to

      #if defined WIN32 && !defined WIN64 && !defined WINCE

      第四步 line 137:

      #ifndef WINCE

      “HARDWARE\\DESCRIPTION\\SYSTEM\\CentralProcessor\\0\\”,

      #else

      L”HARDWARE\\DESCRIPTION\\SYSTEM\\CentralProcessor\\0\\”,

      #endif

     

      第三步 line 140:

      #ifndef WINCE

      “~MHz”,

      #else

      L”~MHz”,

      #endif

      第二步 line 435:

      #ifdef WINCE

      size_t origsize = strlen(name) + 1;

      WCHAR wname[100];

      MultiByteToWideChar(CP_ACP,0,name,origsize,wname,100);

      addr = (uchar*)GetProcAddress( plugins[idx].handle, wname );

      #else

      addr = (uchar*)GetProcAddress( plugins[idx].handle, name );

      #endif

      第一步 line 600: 。..。..修改方法同line 435

      cxerror.cpp line 45 to

      #if defined WIN32 || defined WIN64 || defined WINCE

      line 92 加入

      #define TLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)

      line with DllMain to

      #if defined WIN32 || defined WIN64

      BOOL WINAPI DllMain(

      #ifdef WINCE

      HANDLE

      #else

      HINSTANCE

      #endif

      , DWORD fdwReason, LPVOID )

      a fragment in cvGuiBoxReport to

      sprintf( message, “%s (%s)\nin function %s, %s(%d)\n\n”

      “Press \”Abort\” to terminate application.\n”

      “Press \”Retry\” to debug (if the app is running under debugger)。\n”

      “Press \”Ignore\” to continue (this is not safe)。\n”,

      cvErrorStr(code), err_msg ? err_msg : “no description”,

      func_name, file, line );

      sprintf( title, “OpenCV GUI Error Handler” );

      #ifdef WINCE

      WCHAR wmsg[2048];

      MultiByteToWideChar(CP_ACP,0,title,strlen(message),wmsg,2048);

      int answer = MessageBox( NULL, wmsg, L”OpenCV GUI Error Handler”,

      MB_ICONERROR|MB_ABORTRETRYIGNORE);

      #else

      int answer = MessageBox( NULL, message, title,

      MB_ICONERROR|MB_ABORTRETRYIGNORE|MB_SYSTEMMODAL );

      #endif

     

      cvtypes.h的#include 《emmintrin.h》的宏定義改為:

      #if defined WIN32 && (!defined WIN64 || defined EM64T) &&(!defined WINCE)&& \

      (_MSC_VER 》= 1400 || defined CV_ICC) \

      || (defined __SSE2__ && defined __GNUC__ && __GNUC__ 》= 4)

      【CV工程】

      _cvkdtree.hpp的accum_type maxvar = -std::numeric_limits 《 accum_type 》::max(); 加上#undef max

      公共問題:

      錯誤 131 error LNK2001: 無法解析的外部符號 “const type_info::`vftable‘” (??_7type_info@@6B@)

      cvsmooth.obj.

      引入Ccrtrtti.lib解決

      工程轉(zhuǎn)換

      把原cv和cvcore工程直接轉(zhuǎn)換為wince (PPC 2003 (ARM V4))的時候,工程--》屬性--》平臺--》把WIN32新建為 PPC 2003,

      屬性--》C/C++--》預(yù)處理器:

      NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;_WINDOWS;_USRDLL;CV_CE_EXPO

      RTS;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE。

      最好把C/C++的優(yōu)化改為最大化速度(/O2),代碼速度優(yōu)先(/Ot)。

      總結(jié),移植opencv到wince,概括來說,只需要用宏定義設(shè)置好(區(qū)分WINCE和WIN32),以及把字符編碼的轉(zhuǎn)換搞定了,CV和CVCORE是很容易移植到wince的,同樣道理,也可以移植到其他支持平臺。不過針對運算部分的優(yōu)化,就要靠用戶自己了,OPENCV跨平臺的時候是使用C/C++標準的Math類庫。。。

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    主站蜘蛛池模板: 国产精品久久久久桃色tv | 成人羞羞视频在线观看免费 | 欧美日韩亚洲国内综合网俺 | 欧美极品欧美日韩 | 国产欧美久久精品 | 精品一区二区视频 | 国内精品久久久久久久久久久久 | 天天亚洲综合 | 成人精品在线视频 | 国产人成 | 欧美一区二区在线播放 | 无限影院官网 | 四虎免费永久在线播放 | 天天久久狠狠色综合 | 国产成人综合精品一区 | 国产精品视频免费视频 | 欧美成人看片一区二区三区尤物 | va视频在线 | 国产呦精品一区二区三区下载 | 久久久青草 | 96一级毛片| 国产精品日韩欧美 | 国产免费区 | 非洲特黄一级毛片高清视频 | 日一下影院 | 黄色小视频在线看 | 91九色国产| 国产在线观看99 | 久久99国产精品免费观看 | 一区二区三区四区精品视频 | 久久久久久久久久久大尺度免费视频 | 国内精品久久久久影院中国 | 欧美写真视频一区 | 久久久国产精品免费 | 中国国产一国产一级毛片视频 | 国产成人区 | 国产青草视频 | 免费高清国产 | 天天射日日干 | 看片亚洲 | 欧美在线一二三 |