【OpenCV入門指南】第十二篇 在Windows平台下分享OpenCV程式

來源:互聯網
上載者:User

  《OpenCV入門指南》這個系列已經講解了十一篇,相信大家對OpenCV已經有一個初步的瞭解了。有網友反映怎麼自己寫的OpenCV程式拷貝到其它人的電腦上就無法使用?對於電腦高手來說,這個問題簡直不值一提。但對新手來說,有篇詳細的文章來教他們解決這個問題肯定也能大大節省他們的時間。因此本篇就來解決這個問題——讓沒安裝OpenCV的電腦也能運行我們所寫的OpenCV程式。

 

  以上一篇《【OpenCV入門指南】第十一篇滑鼠繪圖》的程式為例,在沒安裝OpenCV的電腦(Win7系統)上運行Release產生的opencv_test1.exe會報錯。錯誤內容如下——無法啟動此程式,因為電腦中丟失opencv_core231d.dll。嘗試重新安裝該程式以解決此問題。

由於報錯的原因是因為一些DLL沒有被載入,因此隨程式附加上DLL看看可不可以解決這個問題。

使用VC6內建的Depends.exe查看這個程式依賴哪些DLL。

可以看出程式依賴於opencv_core231d.dll和opencv_highgui231d.dll,到OpenCV的安裝目錄中找出這二個DLL將其與我們的opencv_test1.exe放在同一目錄,再運行。結果還是報錯。錯誤內容如下——應用程式無法正常啟動(0xc0150002)。請單擊“確定”關閉程式。

 

到網上查了“應用程式無法正常啟動 0xc0150002”的解決方案,有人說要下一個VC支援程式

http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

不過安裝後還是報錯!!!!

 

  再搜尋下解決方案,原來OpenCV的DLL是分Debug和Release兩種的,像opencv_core231d.dll這個檔案名稱最後有個d說明這是Debug下產生的,不加d即opencv_core231.dll才是Release下產生的。

  而且很明顯Release產生的程式應該去載入Release產生的DLL,因此這個opencv_test1.exe應該去載入opencv_core231.dll和opencv_highgui231.dll。在項目配置中改下將《【OpenCV入門指南】第一篇安裝OpenCV》中使用的

opencv_calib3d231d.lib opencv_contrib231d.lib opencv_core231d.lib opencv_features2d231d.lib opencv_flann231d.lib opencv_gpu231d.lib opencv_highgui231d.lib opencv_imgproc231d.lib opencv_legacy231d.lib opencv_ml231d.lib opencv_objdetect231d.lib opencv_ts231d.lib opencv_video231d.lib

換成

opencv_calib3d231.lib opencv_contrib231.lib opencv_core231.lib opencv_features2d231.lib opencv_flann231.lib opencv_gpu231.lib opencv_highgui231.lib opencv_imgproc231.lib opencv_legacy231.lib opencv_ml231.lib  opencv_objdetect231.lib  opencv_ts231.lib opencv_video231.lib

 設定配置的方法見這裡(可以參考《【OpenCV入門指南】第一篇 安裝OpenCV》中的圖示):

在VS2008中點擊“項目”,再點擊“屬性”,依次展開“配置屬性”--> “連結器”--> “輸入”在“附加依賴項中”添加即可(Release)。

 

然後再將opencv_core231.dll和opencv_highgui231.dll放到opencv_test1.exe目錄下。雙擊,已經可以成功運行了。

 

 

本文這種方法比較原始,規範一點的做法應該是作個安裝包來發布程式的。安裝包的製作比較複雜,肯定不是一篇兩篇部落格可以講透徹的,大家可以搜尋下“VS2008 安裝與部署”。使用其它打包工具也是個不錯的選擇。

使用靜態編譯的方法也可以,不過這樣產生的exe程式會比較龐大。可以參考:http://www.opencvchina.com/thread-1368-1-1.html

 

 

《OpenCV入門指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/863841

轉載請標明出處,原文地址:http://blog.csdn.net/morewindows/article/details/8426295

歡迎關注微博:http://weibo.com/MoreWindows

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.