天天看點

OpenCV x64 vs2010 下打開攝像頭錄制視訊寫成avi(代碼為轉載)

首先參照下面這裡進行opencv x64位機器下面的配置

<a target="_blank" href="http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4">http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4</a>

參考到環境變量處的配置之後,文章中所說的x64位機器環境的配置就不是很清晰了,我自己摸索了一些,其實vs2010本身就不是一個64位的編譯器。

OpenCV x64 vs2010 下打開攝像頭錄制視訊寫成avi(代碼為轉載)

是以我認為,在64位的win7旗艦版系統中,這個編譯器就是支援64位程式的編譯運作。

但是vs2010中沒有能夠直接建立64位程式啊,是以就建立win32控制台程式之後在進行設定。

下面是我在vs2008中的建立的工程做的實驗,vs2010一樣,都是在屬性管理器中-&gt;右鍵工程-&gt;屬性-&gt;配置管理起-&gt;活動平台解決方案-&gt;新選擇平台,選擇x64

OpenCV x64 vs2010 下打開攝像頭錄制視訊寫成avi(代碼為轉載)

接着就生成了,新的工程配置選項,如下圖所示:

OpenCV x64 vs2010 下打開攝像頭錄制視訊寫成avi(代碼為轉載)

這時候回到,最上面的連接配接,講裡面所說的路徑,配置一下:

畫紅線的部分右鍵屬性,這裡跟連接配接裡面的教程不太一樣,由于是在64位環境下,似乎不能直接配置成所有工程的通用屬性,是以每次使用的時候都要從新配置下,這點可能要注意!

OpenCV x64 vs2010 下打開攝像頭錄制視訊寫成avi(代碼為轉載)

配置好了之後,可以使用教程中的代碼進行一下測試,還要注意一個問題,教程中的代碼可能不需要一些附加依賴庫就能夠運作,但是咱們下面的,驅動攝像頭的程式就要用到很多附加依賴庫。

有時候在網上搜的時候,由于版本的不同,是以附加依賴庫後面的數字是不同的,大家複制粘貼的時候注意要修改一下。下面這些差不多是所有的庫了

下面的都是帶d 的,也就是debug版本 的附加依賴庫:

opencv_contrib244d.lib

opencv_core244d.lib

opencv_features2d244d.lib

opencv_flann244d.lib

opencv_gpu244d.lib

opencv_highgui244d.lib

opencv_imgproc244d.lib

opencv_legacy244d.lib

opencv_ml244d.lib

opencv_nonfree244d.lib

opencv_objdetect244d.lib

opencv_photo244d.lib

opencv_stitching244d.lib

opencv_ts244d.lib

opencv_video244d.lib

opencv_videostab244d.lib

opencv_calib3d244.lib

opencv_contrib244.lib

opencv_core244.lib

opencv_features2d244.lib

opencv_flann244.lib

opencv_gpu244.lib

opencv_highgui244.lib

opencv_imgproc244.lib

opencv_legacy244.lib

opencv_ml244.lib

opencv_nonfree244.lib

opencv_objdetect244.lib

opencv_photo244.lib

opencv_stitching244.lib

opencv_ts244.lib

opencv_video244.lib

opencv_videostab244.lib

下面的程式來自這個連接配接

<a target="_blank" href="http://www.cppblog.com/lanshengsheng/archive/2013/01/16/197309.html">http://www.cppblog.com/lanshengsheng/archive/2013/01/16/197309.html</a>

我用我的攝像頭(藍色妖姬M2200 免驅高清)測試,表明,能錄8秒左右的avi格式的錄像,因為是200次,每秒多少幀還不是很确定。

另外在最後生成階段可能出現無法調試的問題,在百度搜尋了一下,可能是.suo檔案出現了問題

按照如下方式修改可以解決:

首先打開菜單 項目-&gt;項目屬性頁 

選擇 配置屬性-&gt;連結器-&gt;調試-&gt;生成調試資訊 改為 是 

選擇 配置屬性-&gt;C/C++ -&gt;正常-&gt;調試資訊格式 改為 用于“編輯并繼續”的程式資料庫(/ZI) 

選擇 配置屬性-&gt;C/C++ -&gt;優化-&gt;優化 改為 禁用(/Od)