opencv的編譯安裝


學習到opencv特征檢測部分,有的特征檢測api不在opencv基礎庫中,需要額外下載,再對opencv進行編譯,下面記錄一下opencv的編譯過程,使用的opencv版本是4.12

 

首先上opencv官網上下載對應版本的source壓縮包

https://opencv.org/releases/

 

 

 下載完畢后解壓

 

 

 

 

然后去github上下載對應的contrib包

https://github.com/opencv/opencv_contrib/releases/tag/4.1.2

 

 

 如果ubuntu系統就下載下面的

 

 

 

cmake的下載

下載的最新的即可

下載完一路next就可以了,要把path添加到系統路徑中

 

 

編譯步驟

1.configure

首先要對opencv的release包進行編譯,我新建了一個文件夾叫opencv4.12,然后在里面建立兩個文件夾,一個叫build,一個叫source,將解壓的源碼放在source中

cmake的路徑選擇如圖

 

 build是專門存放編譯后文件的

因為我的電腦里沒有python,所以第一次configure的時候會報錯,需要將python的部分去掉

 

 

 然后再進行configure

發現會報這個錯誤,提示我找不到ippicv_2019_win_intel64_20180723_general.zip這個文件

 

 

即使是我在對應目錄下放了這個文件也找不到

 

 

這是需要打開bulid文件夾下的cmakedownload文件

 

 

 

 文件中使用ctrl+f搜索這個文件,可以看到他的哈希值,下載地址和存放目錄,這是先不管他的存放目錄,打開source目錄下opencv包中的.cache文件夾,找到其中的ippicv文件夾,將ippicv_2019_win_intel64_20180723_general.zip文件放進去,同時要復制他的哈希值

 

 修改如下

 

 這樣就cmake會先從本地找這個文件進行生成,不去網上下載了,注意哈希值和文件名之間一定要有“-”,否則是無效命名

再進行configure會提示我缺少

ffmpeg.cmake

opencv_videoio_ffmpeg.dll

opencv_videoio_ffmpeg_64.dll

文件

后兩個dll下載下來放到build/3rdparty/ffmpeg文件夾中就可以了,ffmpeg.cmake文件在source的同樣文件夾中有,直接復制過來就行了

解決完這三個問題還會報錯

提示我缺少ffmpeg_version.cmake文件

 

 我總cmakedownloadfile中找到了他都信息(哈希值,下載地址和存放路徑)

 

 

 

 然后將下載地址復制進瀏覽器,發現是一頁文本,因此我在對應目錄下新建ffmpeg_version.cmake文件,然后將網頁中的內容復制到文件中,進行configure發現仍會報同樣的錯誤,問題並沒有解決

所以我嘗試另一種方法,在source文件夾的opencv包中的.cache文件夾中放入對應的ffmpeg_version.cmake文件和兩個dll文件,然后在文件前面添加上對應的哈希值,參照https://blog.csdn.net/pyt1234567890/article/details/106525475/

但是問題仍沒有解決,最終在https://www.cnblogs.com/huluwa508/p/10142718.html中找到原因,要將這個文本網頁直接下載下來

 

 

 

 然后他會以txt格式保存ffmpeg_version.cmake.txt,將最后的txt拓展名去掉,在進行configure就不會報錯了

最后還會遇到這個錯誤

 

 勾掉這個選項即可

 

 此時configure順利通過,再點generate即可,這是可以看見opencv的解決方案已經出現了

 

 

打開,選擇cmakeTarget工程下的ALLBUILD進行生成

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM