天天看點

opencv學習筆記(1)-opencv安裝

初學opencv也不知道應該選哪個版本,前兩天安裝了opencv3.0 alpha(測試版)。這是opencv目前最新的版本。3.0的安裝較之前的版本友善選多,因為3在IDE中添加lib庫時,隻需添加兩三個,而之前的版本有三四十個。

用opencv幹的第一件事,就是打開攝像頭。

但是,折騰了四五天都沒有打開。當然,opencv的安裝肯定是沒有問題的,因為我打開過圖檔和視訊檔案。起初,用opencv打開攝像頭,一運作便顯示failed to loaed opencl runtime。我以為是我沒有安裝opencl的某種庫造成的,于是在網上查找數日,得出結論是:我的顯示卡是AMD的,而AMD顯示卡不直接支援opencl。于是又下載下傳的AMD APP SDK。在安裝AMD SDK之前,我又試着用cvCaptureFromAVI和cvQueryFrame打開視訊檔案,發現同樣顯示failed to load opencl runtime,但是并沒有影響視訊檔案的打開。是以我覺得這個問題并不會影響攝像頭的打開,是以沒有安裝SDK。

為什麼視訊檔案可以打開,而攝像頭打不開呢。于是,我猜測是不是驅動或者攝像頭的問題。當我使用了外接USB攝像頭後同樣是打不開,顯示的視窗依舊是一片灰色。然後我又想是不是攝像頭輸出的視訊格式opencv不支援,然後用攝像頭錄制了一段視訊,是WMV的格式,難道是opencv支援AVI?但我用cvCaptureFromAVI同樣可以打開MP4、rmvb等格式(在網上查閱到,opencv打開各種格式是需要解碼器的,可能我的電腦有相關的解碼器),我用魯大師檢測電腦驅動,也顯示是正常,是以我感覺這也不是攝像頭的問題。

換一個版本的opencv。其實,早就有這個想法,但是一直抱着一種我就不信搞不出來的想法,一直沒有換一個版本。實在被折騰的不行了,算了還是裝個低版本的吧,于是又下載下傳了2.4.9。把vs2010重新配置後,攝像頭馬上就打開了。在打開之前遇到cvQueryFrame讀到的第一幀是空的,需要兩次調用。

最後opencv3.0沒有打開攝像頭的問題算是還沒有解決。可能是這個測試版有某種bug,也可能是我的電腦有什麼與之不相容的問題。