智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

移植Opencv 1.10到WINCE/WM

來源:網絡

點擊:2513

A+ A-

所屬頻道:新聞中心

關鍵詞: WINCE,Opencv 1.10

      【CVCORE項目】

      cxmisc.h, line 125 to

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

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

      第六步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解決

      工程轉換

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

      屬性--》C/C++--》預處理器:

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

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

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

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

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 液晶拼接屏_液晶监视器_液晶广告机_触摸一体机_户外广告机_中亿睿企业官网 | 扬州华工电气有限公司|环氧树脂管|金刚石绝缘板|U型绝缘槽|电解槽绝缘材料 | 直流电机调速器,直流电机控制器,直流电机调速电源-淄博诚铖创惠电子有限公司 | 外圆/圆管抛光机_方管抛光机/除锈机_活塞杆抛光机-不锈钢管抛光机-邢台欧邦机械 | 康复支具-医用颈托-辅助固定矫形器-骨折固定带生产厂家-安平县康信医疗器械有限公司 | 石家庄装修设计_别墅装修装饰公司-金舍装饰官网 | 轴流风机_混流风机_排烟防火阀-德州辰特空调设备有限公司 | 苏州妙凯电子有限公司-供应军工电源芯片|线性恒流IC|开关电源IC|LED驱动芯片|MOS管|IPM|IGBT|MCU开发|电源模块 | 净水器厂家_杭州净水器厂家_杭州拥政科技有限公司 | 上海升降机_导轨式升降货梯_移动铝合金升降机_上海力盏电动液压平台厂家 | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 河南新飞飞鸿实业有限公司 | 微型电磁阀_隔膜泵_活塞泵_微型水泵_微型真空泵_微型气泵【东莞市宗旨电子科技有限公司】 | 柔性测斜仪|滑动式测斜仪-华思(广州)测控科技有限公司 | 深圳办公室装修_高端写字楼设计费用_企业装修报价公司-深圳长红装饰 | 皮带输送机-宁津县浩发链条有限公司 | 石家庄LED显示屏|石家庄显示屏|河北显示屏升级改造|石家庄科航光电科技有限公司_石家庄科航光电科技有限公司 | 桥梁伸缩缝_桥梁伸缩缝厂家_桥梁伸缩缝价格-衡水淞皓路桥养护工程有限公司 | 曙海培训-仿真培训Linux培训html5培单片机培训PCB培训python培训PLC培训C语言培训android培训物联网培训无线电培训欧姆龙培训工业机器人培训5G培训Hadoop培训CFD培训项目外包开发咨询 | 塑胶篮球场施工|塑胶网球场施工|幼儿园塑胶施工|石家庄亚强体育公司 | 墙板_户外墙板_ASA共挤户外墙板-康亿家生态木业集团 | 晶圆盒垫纸|铝线棒精益管|防静电接地系统工程-上海德拉电子科技有限公司 | 食品甲醛测定仪,啤酒甲醛测定仪,食盐碘测定仪,食品细菌检验仪,水质细菌检验仪-厦门欣锐仪器仪表有限公司 | 消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司-消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司 | 上海婺川实业有限公司| 上海钧尚电器有限公司 - Faulhaber电机 AMETEK pittman电机 AMETEK ROTRON军用航空风机 Exlar电动缸 MAE电机 MCG电机 CP电动工具 马头工具 AMCI驱动器 直流电机 减速箱 直流伺服电机,无刷电机,直线电机 直流防爆电机 防爆电机 汽车助力转向电机 EPS电机 faulhaber motor faulhaber gearbox NANOTEC电机 ELWOOD电机 PHYTRON电机 EXLAR伺服电动缸 高力矩、高性能直流电机,音圈电机,风机,直流风机,航空风机 | 乐清人才网_乐清招聘网_求职找工作平台 | 全球石油化工网 - 石油化工资讯,石油化工机械,石油化工设备,石油化工贸易,石油化工技术,尽在石油化工网 | 河北省建筑科学研究院有限公司| 深圳专利申请-深圳商标注册-深圳国高认定 - 深弘知识产权 | 举升机,登高梯,升降平台,升降车,升降机,高空作业平台车 | 芜湖市皖创管业有限公司| 汽车标签|医疗标签|电子标签|手机电池标签|电脑电池标签|电源标签|耐高温标签|防静电标签|手机出厂膜|手机全裹膜|手机包裹膜|手机卖点膜|热转印标签|遮阳板标签|天势科技|-标签印制专家! | 商易网-b2b电子商务平台网站大全免费B2B发布供求信息网站 | 模压机|硫化机|平板硫化机生产厂家-南通海利特橡塑机械有限公司 模压化粪池_三格式化粪池_玻璃钢化粪池厂家 | 欧派板材官网 | 全屋定制板材 专业供应商 | 辣椒烘干机-百信机械提供大中小型辣椒烘干机房设备视频图片厂家价格多少钱 | 湖南一体化污水处理设备_二氧化氯发生器_一体化净水处理设备_消毒设备厂家-湖南东环环保科技有限公司 | 配电箱自动生产线-配电箱生产线设备-山东炜桦智能 | 永光机械-小型建筑机械领航者,公司专注于小型建筑、工程机械的研发与制造 | 欣宇航化工-湖北片碱-冰醋酸厂家联系方式-工业氨水价格-工业片碱厂家-武汉宇航化工 |