付費限定

[OpenCV][Python]Win10+Cmake+VS2022編譯 OpenCV 及opencv_contrib

閱讀時間約 7 分鐘

你還沒有編譯 OpenCV,那麼你需要先完成 OpenCV 的編譯過程,這樣才能生成 OpenCVConfig.cmake 文件。下面是一步一步的指南,幫助你在 Windows 上編譯 OpenCV。

本文主要介紹使用Cmake + VS2022來編譯OpenCV,最後目的是讓OpenCV可以利用 CUDA 加速進行深度神經網絡(DNN)推理。


CUDA安裝方式參考另外一篇

[Python]安裝CUDA + cuDNN


步驟 1:下載必要的Source code

  1. 下載 OpenCV 源碼: 前往 OpenCV GitHub 頁面 或使用以下 Git 指令下載 OpenCV Source code:
    git clone https://github.com/opencv/opencv.git

    下載指定版本

    raw-image
  2. 下載 opencv_contrib(可選): 如果你需要額外的模組(例如 DNN 模組),下載 opencv_contrib
    git clone https://github.com/opencv/opencv_contrib.git

步驟 2:安裝必要的編譯工具

安裝 CMake: 前往 CMake 官網 下載並安裝 CMake。

raw-image
  1. 安裝 Visual Studio: 你需要 Visual Studio 作為編譯工具。可以安裝 Visual Studio 2019 或 2022,並確保安裝了 C++ 編譯工具。

如要下載Visual Studio Installer,記得勾選「桌面開發 C++」工作負載。

  1. 安裝 CUDA(可選): 如果你希望啟用 CUDA 加速,安裝 NVIDIA CUDA Toolkit 並配置好你的系統。

步驟 2:打開 CMake GUI

  1. 打開 CMake GUI
  2. 設置源碼目錄和編譯目錄
    • 在「Where is the source code」欄位中,選擇你解壓縮的 OpenCV 源碼目錄,例如 D:/OpenCV/opencv-4.x/opencv-4.x。
    • 在「Where to build the binaries」欄位中,選擇一個新的空目錄來存放編譯後的文件,例如 D:/OpenCV/Build。
raw-image
  1. 點擊「Configure」
    • 點擊「Configure」按鈕。
    • CMake 會要求你選擇一個生成器(編譯器)。如果你在 Windows 上使用 Visual Studio,選擇相應的 Visual Studio 版本(例如 Visual Studio 2019 或 Visual Studio 2022),並選擇 x64 平台。
    • 點擊「Finish」進行初次配置。
以行動支持創作者!付費即可解鎖
本篇內容共 2594 字、2 則留言,僅發佈於[Python][OpenCV]學習心得筆記你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
119會員
201內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
[OpenCV][Python]使用GrabCut 來去背 在上篇文章提到如何用GrabCut 來去背,但都是處於比較基礎的方式,讓演算法自行判斷前景背景,本文主要說明,使用設定參數讓演算法計算得更加準確,可根據UI上的圖顯示,用滑鼠畫區域來設定參考的背景與前景。 UI圖顯示 步驟,先載圖,在
本文詳細探討了Tesseract的box定義。經驗分享釐清了Tesseract與cv2.rectangle的座標差異,解釋了怎樣使用JTessBoxEditor進行框的驗證。透過範例,讀者將瞭解如何正確設置字符的bounding box,並學會轉換OCR座標為Tesseract所需格式
本文主要介紹使用Numpy實現一個尋找邊界的方法,在用這個方法延伸去判斷2D條碼中圖案L角,根據預定義的方向角度對應表來判斷圖像的角度(0 度、90 度、180 度或 270 度) 設計邏輯 數據過濾: 函式 __filtered_positions 確保在對數據進行處理之前,能夠有效地過濾
色階調整去霧技術是一種圖像增強技術,通過調整圖像的亮度和對比度來減少或消除霧氣的影響。主要依賴於圖像的直方圖,通過分析圖像中像素亮度的分佈來增強細節、提高對比度,使得被霧氣模糊的細節得以還原。以改善模糊或灰濛的圖像。 本文主要利用了圖像去霧技術中的暗通道先驗(Dark Channel Prior)
本文將實測,使用同一組圖像,用不同的OCR模型來辨識看成效如何,主要介紹如何從資料夾中,讀取圖片檔中的檔名來比對tesseract OCR的結果是否一致,若結果不同就記錄其錯誤位置及次數,統計最後的誤判率及誤判字的總次數。 圖片檔中的檔名由事先整理出正確結果,比對OCR模型用。
在Tesseract的討論論壇中看到一篇文章,有人研究tesseract在文字高度在30~33pixl~內辨識率是最佳的。 本文就將來實作看看,拿出之前實驗用的OCR圖檔來跑跑看。 實驗內容 縮放與不縮放的圖片在tesseract OCR結果比較 圖片縮放流程 先讀取圖片中OCR的高度,取
[OpenCV][Python]使用GrabCut 來去背 在上篇文章提到如何用GrabCut 來去背,但都是處於比較基礎的方式,讓演算法自行判斷前景背景,本文主要說明,使用設定參數讓演算法計算得更加準確,可根據UI上的圖顯示,用滑鼠畫區域來設定參考的背景與前景。 UI圖顯示 步驟,先載圖,在
本文詳細探討了Tesseract的box定義。經驗分享釐清了Tesseract與cv2.rectangle的座標差異,解釋了怎樣使用JTessBoxEditor進行框的驗證。透過範例,讀者將瞭解如何正確設置字符的bounding box,並學會轉換OCR座標為Tesseract所需格式
本文主要介紹使用Numpy實現一個尋找邊界的方法,在用這個方法延伸去判斷2D條碼中圖案L角,根據預定義的方向角度對應表來判斷圖像的角度(0 度、90 度、180 度或 270 度) 設計邏輯 數據過濾: 函式 __filtered_positions 確保在對數據進行處理之前,能夠有效地過濾
色階調整去霧技術是一種圖像增強技術,通過調整圖像的亮度和對比度來減少或消除霧氣的影響。主要依賴於圖像的直方圖,通過分析圖像中像素亮度的分佈來增強細節、提高對比度,使得被霧氣模糊的細節得以還原。以改善模糊或灰濛的圖像。 本文主要利用了圖像去霧技術中的暗通道先驗(Dark Channel Prior)
本文將實測,使用同一組圖像,用不同的OCR模型來辨識看成效如何,主要介紹如何從資料夾中,讀取圖片檔中的檔名來比對tesseract OCR的結果是否一致,若結果不同就記錄其錯誤位置及次數,統計最後的誤判率及誤判字的總次數。 圖片檔中的檔名由事先整理出正確結果,比對OCR模型用。
在Tesseract的討論論壇中看到一篇文章,有人研究tesseract在文字高度在30~33pixl~內辨識率是最佳的。 本文就將來實作看看,拿出之前實驗用的OCR圖檔來跑跑看。 實驗內容 縮放與不縮放的圖片在tesseract OCR結果比較 圖片縮放流程 先讀取圖片中OCR的高度,取
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
呈上篇文章,針對單排的圖像文字增加間隔,但如果文字是雙排呢 [OpenCV][Python]OCR分割及增加間隔[單排文字]
Thumbnail
此篇為上一篇文章的延伸,先辦別是螺絲還是螺母才擷取出影像。 [OpenCV應用][Python]利用findContours辨識螺絲還是螺母 因為可能會需要另外處理螺絲與螺母才可以準確地去做量測,所以第一步就是先分割出這兩種的圖像。
Thumbnail
常見的圖像銳利化方法: 銳化濾波器 增強對比度 Unsharp Masking
Thumbnail
本文將介紹影像的基本操作包括:影像的讀取、顯示、保存,以及一些常見的操作如裁剪、旋轉、縮放等。 語法介紹 讀取影像: cv2.imread函數的參數是影像的檔案路徑。讀取後的影像以NumPy的ndarray形式表示。
Thumbnail
OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和影像處理庫,它提供了豐富的功能和工具,可用於開發各種視覺應用程式。 OpenCV最初是用C++編寫的,但它也提供了Python、Java等多種程式語言的接口,方便不同語言的開發者使用。
Thumbnail
大部分在求物件的寬度及高度,都會想到用OpenCV的findContours函式來做,從找到的輪廓中來計算物件的面積,周長,邊界框等屬性,從而得到物體的寬度與高度 [OpenCV應用][Python]利用findContours找出物件邊界框求出寬度及高度 本文將用不同的方法,利用Numpy
Thumbnail
本文將利用OpenCV的findContours函式,從找到的輪廓中來計算物件的面積,周長,邊界框等屬性,從而得到物體的寬度與高度。 一般來說,我們在進行輪廓檢測時,會先進行圖像二值化,將對象轉換為白色,背景為黑色。這樣,在找到輪廓後,輪廓的點就會以白色表示,背景為黑色。 結果圖 從圖中綠色框
Thumbnail
[影像處理_OpenCV Python]使用Python撰寫影像處理功能,圖片遮罩或濾除掉不要的地方,旋轉圖片 以下範例將呈現影像處理三種不同的應用: 遮罩的實現 濾除 旋轉
Thumbnail
軟體版本:CLIP STUDIO PAINT Ver.1.12.0 這裡預設讀者知道電腦繪圖的基本常識,並且有能力繪製一張彩色插畫,所以不會介紹任何基本概念,例如:圖層是什麼、色相環如何使用...等,也不會提到 CSP 繪圖環境設置(因為我就直接使用預設XD),如果需要基本教程,可以試試看 CLI
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
呈上篇文章,針對單排的圖像文字增加間隔,但如果文字是雙排呢 [OpenCV][Python]OCR分割及增加間隔[單排文字]
Thumbnail
此篇為上一篇文章的延伸,先辦別是螺絲還是螺母才擷取出影像。 [OpenCV應用][Python]利用findContours辨識螺絲還是螺母 因為可能會需要另外處理螺絲與螺母才可以準確地去做量測,所以第一步就是先分割出這兩種的圖像。
Thumbnail
常見的圖像銳利化方法: 銳化濾波器 增強對比度 Unsharp Masking
Thumbnail
本文將介紹影像的基本操作包括:影像的讀取、顯示、保存,以及一些常見的操作如裁剪、旋轉、縮放等。 語法介紹 讀取影像: cv2.imread函數的參數是影像的檔案路徑。讀取後的影像以NumPy的ndarray形式表示。
Thumbnail
OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和影像處理庫,它提供了豐富的功能和工具,可用於開發各種視覺應用程式。 OpenCV最初是用C++編寫的,但它也提供了Python、Java等多種程式語言的接口,方便不同語言的開發者使用。
Thumbnail
大部分在求物件的寬度及高度,都會想到用OpenCV的findContours函式來做,從找到的輪廓中來計算物件的面積,周長,邊界框等屬性,從而得到物體的寬度與高度 [OpenCV應用][Python]利用findContours找出物件邊界框求出寬度及高度 本文將用不同的方法,利用Numpy
Thumbnail
本文將利用OpenCV的findContours函式,從找到的輪廓中來計算物件的面積,周長,邊界框等屬性,從而得到物體的寬度與高度。 一般來說,我們在進行輪廓檢測時,會先進行圖像二值化,將對象轉換為白色,背景為黑色。這樣,在找到輪廓後,輪廓的點就會以白色表示,背景為黑色。 結果圖 從圖中綠色框
Thumbnail
[影像處理_OpenCV Python]使用Python撰寫影像處理功能,圖片遮罩或濾除掉不要的地方,旋轉圖片 以下範例將呈現影像處理三種不同的應用: 遮罩的實現 濾除 旋轉
Thumbnail
軟體版本:CLIP STUDIO PAINT Ver.1.12.0 這裡預設讀者知道電腦繪圖的基本常識,並且有能力繪製一張彩色插畫,所以不會介紹任何基本概念,例如:圖層是什麼、色相環如何使用...等,也不會提到 CSP 繪圖環境設置(因為我就直接使用預設XD),如果需要基本教程,可以試試看 CLI