iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0

一、安裝方法

有兩種建置OpenCV的方式,分別為:

  • 使用Visual Studio建置OpenCV : Visual Studio是一個強大的整合開發環境,對於開發者來說非常友好且易於使用。
  • 使用MinGW建置OpenCV: MinGW是一套在Windows平台上提供gcc、g++、make等GNU工具的開發環境,對於那些偏好命令行工具或跨平台開發的開發人員來說是一個不錯的選擇。

這篇會講解如何使用MinGW對OpenCV進行編譯建置,當然如果你想用其他安裝方式也是OK的:

二、建置原始碼安裝OpenCV

1. 前置作業

無論你選擇使用哪一種方式,需要先安裝CMake 3.27.1建立工作環境下載OpenCV的第三方模組

1) 安裝CMake

CMake是一個開源的跨平台建置工具,它能夠自動生成用於各種開發環境的建置腳本。安裝CMake是編譯OpenCV的必要步驟,這將幫助你配置和生成相應的專案檔案。前往CMake官方網站,下載Windows x64 Installer,在安裝的過程中Installer會主動提示是否要將cmake加入到環境變數Path,請打勾。

打開命令提示字元,輸入以下命令檢查 CMake 是否安裝成功。如果安裝成功,你會看到 CMake 的版本信息。

cmake --version

2) 建立工作環境

新增工作資料夾,在哪裡都可以,本篇放在下載資料夾下。

mkdir %userprofile%\downloads\opencv_workspace

3) 下載OpenCV和OpenCV Contrib原始碼

OpenCV的官方網站下載最新版本的OpenCV原始碼,點選下載Sources,將壓縮檔解壓縮到opencv_workspace資料夾下,本篇使用OpenCV 4.8.0。將解壓縮後的opencv-4.8.0資料夾更名為opencv_workspace\sources

https://ithelp.ithome.com.tw/upload/images/20230914/20161732kKqnvycbCP.png

4) 下載貢獻模組(OpenCV Contrib)

OpenCV Contrib包含了一些額外的功能和模組,這些模組可能對你的應用非常有用。

請到opencv_contrib,選擇要使用的OpenCV版本Tag如4.8.0,點選Code按鈕以後按Download ZIP,解壓縮到opencv_workspace目錄。

當然如果你的電腦有git的話,也可以使用git clone指令下載opencv_contrib 4.8.0版本,到opencv_workspace目錄。

git clone --depth 1 --branch 4.8.0 https://github.com/opencv/opencv_contrib.git

2. 使用MinGW建置OpenCV原始碼

1) 安裝編譯器

為了讓Windows作業系統也可以使用g++、gcc和make指令,需要先安裝MinGW。到SourceFroge下載 MinGW-w64 - for 32 and 64 bit Windows Files,資料夾內的x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z,解壓縮並放在C:\mingw64

注意必須選擇threads-posix版本,如果選擇threads-win32會造成後續在make的時候出現編譯錯誤。

以系統管理員開啟命令提示字元,快捷鍵Win+R,輸入cmd,按Enter,輸入以下命令,新增環境變數MINGW64_DIR

setx -m MINGW64_DIR C:\mingw64

開啟設定,系統>關於>進階系統設定>環境變數,將%MINGW64_DIR%\bin新增到系統變數Path中。

https://ithelp.ithome.com.tw/upload/images/20230914/20161732dhnBq9yg1h.png

重新開啟命令提示字元,輸入下方命令檢查mingw是否正確安裝。如果安裝成功,你會看到 g++、gcc和make的版本資訊。

g++ -v
gcc -v
mingw32-make -v

2) 生成Makefiles(CMake建置)

開啟CMake(cmake-gui)。完整CMake配置項目請參考 OpenCV configuration options reference

  1. 選擇原始碼資料夾opencv_workspace\sources

  2. 選擇build資料夾opencv_workspace\build-mingw,如下圖(1)

  3. 按下Configure,跳出一個選擇Generator的視窗,選擇MinGW Makefiles,如下圖(2)。。

  4. 搜尋BUILD_opencv,將顯示出的所有選項打勾,特別是BUILD_opencv_world

  5. 搜尋CMAKE_INSTALL_PREFIX,將欄位更改成opencv_workspace\build,這個資料夾就是將來動態連結庫(DLL)存放的位置,如下圖(3)

  6. 搜尋OPENCV_EXTRA_MODULES_PATH,將欄位更改成opencv_workspace/opencv_contrib/modules,如下圖(4)。。

  7. 搜尋CMAKE_BUILD_TYPE,更改成Debug或Release可以調整OpenCV的版本,但因為開發的過程難免或需要使用Break point去監控程式的執行狀況,因此建議選擇Debug版本。當然,你也可以兩個版本都進行建置,等到Debug建置安裝完成以後再更改CMAKE_BUILD_TYPE成Release。

  8. 再按一次Configure。

  9. 按下Generate,生成MinGW的Makefiles。

https://ithelp.ithome.com.tw/upload/images/20230914/20161732gR6moIKllZ.jpg

3) 使用Make指令編譯OpenCV

開啟cmd,移動到opencv_workspace\build-mingw資料夾,輸入mingw32-make -j8指令編譯OpenCV,-j8的意思是使用8個執行續編譯,如果電腦效能撐不住,可以考慮調降這個數字。接下來輸入mingw32-make install安裝OpenCV。

mingw32-make -j8
mingw32-make install

https://ithelp.ithome.com.tw/upload/images/20230914/201617321Y6dHIv1cI.png

完成安裝後就會看到opencv_workspace\build\x64\mingw資料夾,底下有lib靜態連結函式庫資料夾和bin動態連結函式庫。

https://ithelp.ithome.com.tw/upload/images/20230914/20161732CTOjdiRmVB.png

3. 設置環境變數

為了讓將來的程式可以找到libopencv_world480.dll動態連結函式庫,將opencv_workspace\build\x64\mingw\bin的完整路徑加入至Path變數中。

https://ithelp.ithome.com.tw/upload/images/20230914/20161732bKZCOhS7q5.png


上一篇
【Day3】使用Visual Studio 建置OpenCV原始碼並安裝(Windows)
下一篇
【Day5】使用Visual Studio建立你的第一個OpenCV專案
系列文
圖解C++影像處理與OpenCV應用:從基礎到高階,深入學習超硬核技術!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言