国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

windows11編譯OpenCV4.5.0 with CUDA(附注意事項)

這篇具有很好參考價值的文章主要介紹了windows11編譯OpenCV4.5.0 with CUDA(附注意事項)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

windows11編譯OpenCV4.5.0 with CUDA

win11 opencv編譯,opencv,visual studio,計算機視覺,編譯,CUDA

從OpenCV4.2.0 版本開始允許使用 Nvidia GPU 來加速推理。本文介紹最近使用windows11系統(tǒng)編譯帶CUDA的OpenCV4.5.0的過程。

  • 文中使用【特別注意:…】為大家標識出容易出錯的地方。
  • 安裝成功后,使用CPU與GPU調(diào)用yolov4模型進行推理的耗時測試結(jié)果:
GPU CPU
4ms 311ms
  • 從差距上看,還是值得花時間編譯一下的:)
  • 耗時測試環(huán)境:
    • 調(diào)用筆記本自帶攝像頭獲取視頻
    • Notebook GTX3080顯卡

1.準備環(huán)境

1.1 下載OpenCV4.5.0

  • 編譯需要OpenCV4.5.0的源碼
  • 下載地址(3項可選):

    https://opencv.org/releases/
    https://github.com/opencv/opencv/releases/tag/4.5.0
    https://sourceforge.net/projects/opencvlibrary/files/4.5.0/opencv-4.5.0-vc14_vc15.exe/download

  • 下載完成后是一個exe程序,雙擊即可解壓,解壓后:
    • source文件夾就是源碼
    • build文件夾是編譯好的不帶CUDA加速的OpenCV4.5.0(本文不使用)

1.2 下載OpenCV4.5.0 contrib

  • Contrib Modules是OpenCV的擴展模塊,包含了很多用于實現(xiàn)特定算法
  • 編譯OpenCV需要用到contirb模塊
  • 特別注意:務(wù)必下載與源碼對應(yīng)版本的contrib模塊
  • 下載地址(第1個為官方下載地址,第2個為國內(nèi)某同學搭建的下載庫,速度較快):

    https://github.com/opencv/opencv_contrib/tags
    https://www.raoyunsoft.com/opencv/opencv_contrib/opencv_contrib-4.5.0.zip

1.3 準備.cache文件

  • 編譯過程中需要聯(lián)網(wǎng)下載一些依賴庫,并存放于sourc.cache文件夾中
  • 特別注意:因要連到外網(wǎng),因此速度比較慢,有時斷網(wǎng)造成編譯失敗,所以可以提前準備好這些文件
  • OpenCV4.5.0的.cache文件下載地址:

    https://download.csdn.net/download/iracer/85695997

  • 使用方法:
    • 將.cache文件夾拷貝到source文件夾下,與原.cache文件夾合并

1.4 安裝Visual Studio 2019

  • 安裝CUDA需要vs,這里選擇vs2019
  • 安裝步提要:
  • Download Visual Studio 2019 Community Edition
  • Select Desktop Development with C++ option and click on install

1.5 安裝CUDA和cuDNN

  • NVIDIA官方指南:

    https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-windows

  • 本次在windows11上安裝的CUDA和cuDNN版本為:
  • CUDA 11.3:cuda_11.3.1_465.89_win10.exe
  • duDNN 8.4:cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive.zip
  • 特別注意:zlib庫需要下載并添加到系統(tǒng)環(huán)境變量path中,因為cdDNN需要調(diào)用該庫。
  • zlib庫下載地址:

    www.winimage.com/zLibDll/zlib123dllx64.zip
    下載完成后解壓zip文件,并將zlibwapi.dll所在目錄添加到系統(tǒng)環(huán)境變量path

  • 查看CUDA安裝結(jié)果:
C:\Users\irace>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_May__3_19:41:42_Pacific_Daylight_Time_2021
Cuda compilation tools, release 11.3, V11.3.109
Build cuda_11.3.r11.3/compiler.29920130_0

1.6 安裝CMake

  • 本次是用的是3.22版本,3.19以上版本應(yīng)該都可以(未逐一測試)
  • 下載地址:

    https://github.com/Kitware/CMake/releases/download/v3.22.5/cmake-3.22.5-windows-x86_64.msi

2. 編譯

2.1 CMake生成解決方案

  • 雙擊解壓OpenCV4.5.0.exe,解壓后的source目錄即OpenCV4.5.0的源碼

  • 解壓opencv_contrib-4.5.0

  • 新建一個編譯目錄

    D:\opencv\oepncv4.5.0cuda\build

  • 打開CMake

  • 配置source code:

    D:/opencv/opencv4.5.0/sources

  • 配置目標目錄:

    D:\opencv\oepncv4.5.0cuda\build

  • 第1次點擊[Configure]

  • 彈出窗口選擇vs2019作為編譯器:

    Visual Studio 16 2019

  • generate平臺選擇x64

  • 第2次點擊[Configure]后,搜cuda帶cuda的都勾選,

    • BUILD_CUDA_STUBS
    • BUILD_opencv_cudaarithm
    • BUILD_opencv_cudabgsegm
    • BUILD_opencv_cudacodec
    • BUILD_opencv_cudafeatures2d
    • BUILD_opencv_cudafilters
    • BUILD_opencv_cudaimgproc
    • BUILD_opencv_cudalegacy
    • BUILD_opencv_cudaobjdetect
    • BUILD_opencv_cudaoptflow
    • BUILD_opencv_cudastereo
    • BUILD_opencv_cudawarping
    • 除此之外此外以下兩項數(shù)學加速選項也勾選:
    • CUDA_FAST_MATH
    • ENABLE_FAST_MATHwin11 opencv編譯,opencv,visual studio,計算機視覺,編譯,CUDA
    • CMake界面上Search欄搜modules,設(shè)置contrib模塊路徑

    D:\opencv\oepncv4.5.0cuda\opencv_contrib-4.5.0\modules

  • 第3次點擊[Configure],完成后,再次搜索cuda,配置CUDA_ARCH_BIN中將顯卡的算力內(nèi)容改成自己顯卡的算力,t如下網(wǎng)址查詢自己顯卡的算力,我保留了7.5;8.0;8.6

    • 查詢顯卡算力鏈接

    GeForce 筆記本

    GPU Compute Capability
    GeForce RTX 3080 8.6
    GeForce RTX 3070 8.6
    GeForce RTX 3060 8.6
    GeForce RTX 3050 Ti 8.6
    GeForce RTX 3050 8.6
    Geforce RTX 2080 7.5
    Geforce RTX 2070 7.5
    Geforce RTX 2060 7.5
    GeForce GTX 1080 6.1
    GeForce GTX 1070 6.1
    GeForce GTX 1060 6.1

    GeForce and TITAN 臺式機

    GPU Compute Capability
    Geforce RTX 3060 Ti 8.6
    Geforce RTX 3060 8.6
    GeForce RTX 3090 8.6
    GeForce RTX 3080 8.6
    GeForce RTX 3070 8.6
    GeForce GTX 1650 Ti 7.5
    NVIDIA TITAN RTX 7.5
    Geforce RTX 2080 Ti 7.5
    Geforce RTX 2080 7.5
    Geforce RTX 2070 7.5
    Geforce RTX 2060 7.5
    NVIDIA TITAN V 7.0
  • 搜索并勾選

    BUILD_opencv_world,可生成一個整的dll方便使用

    OPENCV_ENABLE_NONFREF

  • 解壓.cache.rar,將.cache目錄拷貝到source目錄:

    D:\opencv\oepncv4.5.0\source\.cache >![將下載的.cache目錄與source中的.cache目錄合并](https://img-blog.yssmx.com/

  • 第4次點擊[Configure]

  • 完成后,點擊[Generate],完美生成:

    win11 opencv編譯,opencv,visual studio,計算機視覺,編譯,CUDA
    配置完成后CMake log中顯示找到了CUDA和cuDNN:

    NVIDIA CUDA: YES (ver 11.3, CUFFT CUBLAS FAST_MATH)

    NVIDIA GPU arch: 75 80 86

    NVIDIA PTX archs:

    cuDNN: YES (ver 8.4.0)

  • 點擊[Open Project],會自動打開vs2019,開始編譯

2.2 VS2019編譯OpenCV

  • 使用VS2019打開剛剛編譯工程后,等待左下角顯示的項全部加載完畢才可以繼續(xù)操作

  • 選擇Release x64版本

    win11 opencv編譯,opencv,visual studio,計算機視覺,編譯,CUDA

  • 找到解決方案資源管理器中的“CmakeTargets”下的“ALL_BUILD”,右鍵→“生成”,然后開始漫長的等待……

    win11 opencv編譯,opencv,visual studio,計算機視覺,編譯,CUDA

  • 解決方案資源管理器—>CMakeTargets—>INSTALL—>生成”然后又是等,好在這次時間很短。完成后你的build文件夾中會出現(xiàn)一個install文件夾,這就是完成了。

    win11 opencv編譯,opencv,visual studio,計算機視覺,編譯,CUDA

2.3 生成文件

  • 生成完成后會出現(xiàn)如下文件夾

    D:\opencv\oepncv4.5.0cuda\build\install

  • build/install目錄的目錄結(jié)構(gòu)(部分)
    ├─etc
    ├─include
    │ └─opencv2
    │ ├─core
    │ ├─cudalegacy
    │ ├─cudev
    │ ├─datasets
    │ ├─dnn
    │ ├─face
    │ ├─features2d
    └─x64
    └─vc16
    ├─bin
    └─lib

  • tips:在當前目錄中運行cmd,使用tree命令,即可生成目錄樹文章來源地址http://www.zghlxwxcb.cn/news/detail-657661.html

D:\opencv\oepncv4.5.0cuda\build\install>tree

3. 測試

3.1 配置OpenCV with cuda

  • 配置OpenCV4.5.0cuda,與一般OpenCV的配置方法一致,可參考:
  • Win7系統(tǒng)Visual Studio 2013配置OpenCV3.1圖文詳解

3.2 YOLOv4 示例程序

  • 測試程序可以直接用《OpenCV4機器學習算法原理與編程實戰(zhàn)》書中的代碼(部分):
#include<opencv2\opencv.hpp>
#include<opencv2\dnn.hpp>
#include<fstream>
#include<iostream>

using namespace std;
// 檢測結(jié)果后處理
void postProcess(
	cv::dnn::Net& net,
	cv::Mat& frame,
	const vector<cv::Mat>& outs,
	vector<cv::Rect>& boxes,
	vector<int>& classIds,
	vector<int>& indices,
	double confThreshold,
	double nmsThreshold
);

// 檢測繪制結(jié)果
void drawPred(
	cv::Mat& frame,
	vector<cv::Rect>& boxes,
	vector<int>& classIds,
	vector<int>& indices,
	vector<string>& classNamesVec);

// 程序設(shè)置
bool USE_IMAGE = false;  // true: 測試圖像; false: 測試視頻
bool USE_YOLOv4 = true; // true: YOLOv4;   false: YOLOv4_tiny
bool USE_CUDA = true; // true: GPU, false: CPU

float confidenceThreshold = 0.3; // 置信度設(shè)置
float nmsThreshold = 0.2; 		  // 置信MNS門限

int main()
{
	// [1]模型文件路徑設(shè)置
	cv::String model, config;
	if (USE_YOLOv4)
	{
		model = "D:/models/yolov4/yolov4.weights"; // 模型權(quán)重文件
		config = "D:/models/yolov4/yolov4.cfg";    // 模型配置文件 
	}
	else // use yolov4-tiny
	{
		model = "D:/models/yolov4/yolov4-tiny.weights";
		config = "D:/models/yolov4/yolov4-tiny.cfg";
	}
	cv::String framework = "Darknet";                     // 深度學習框架
	cv::String label_file = "D:/models/yolov4/coco.names";// 類別標簽文件

	//[2] 加載類別
	ifstream classNamesFile(label_file);
	vector<string> classNamesVec;
	if (classNamesFile.is_open())
	{
		string className = "";
		while (std::getline(classNamesFile, className))
		{
			classNamesVec.push_back(className);
		}
	}
	// [3]載入模型
	cv::dnn::Net net = cv::dnn::readNet(config, model, framework);

	if (USE_CUDA)
	{
		net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
		net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
	}
	else
	{		
		net.setPreferableTarget(cv::dnn::DNN_TARGET_OPENCL);
		net.setPreferableBackend(cv::dnn::DNN_BACKEND_OPENCV);
	}

	// ...
	}

4. 相關(guān)鏈接

  • OpenCV4機器學習算法原理與編程實戰(zhàn)(附部分模型下載地址)
  • 本文更新鏈接
  • 轉(zhuǎn)載請注明出處。

到了這里,關(guān)于windows11編譯OpenCV4.5.0 with CUDA(附注意事項)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Win11下配置OpenCV with CUDA

    Win11下配置OpenCV with CUDA

    前些天在B站上看到用OpenCV調(diào)用CUDA加速目標檢測和關(guān)鍵點檢測的教程,較Pytorch推理速度提升很明顯,最近整了個RTX4070,所以就也想來試一試。由于剛換了電腦,沒有相關(guān)環(huán)境,配置過程中踩了一些坑,因此有了這篇記錄文章。 系統(tǒng):Windows11-22H2 顯卡:RTX4070 驅(qū)動:CUDA-11.8,c

    2024年02月10日
    瀏覽(14)
  • Jetson Xavier NX編譯OpenCV(with cuda)

    Jetson Xavier NX編譯OpenCV(with cuda)

    Jetson Xavier NX默認安裝的OpenCV 4.5.4(不帶cuda),因項目要求OpenCV使用cuda作加速,因此,須重新編譯OpenCV。這里為了方便直接在目標機上面編譯,避免復(fù)雜的環(huán)境及依賴。 下載地址: OpenCV · GitHub 我這里下載opencv-4.5.4,opencv_contrib-4.5.4,下載后并解壓。 查看是否卸載: libs: versi

    2024年02月11日
    瀏覽(28)
  • 【OpenCV】 OpenCV 源碼編譯并實現(xiàn) CUDA 加速 (Windows)

    【OpenCV】 OpenCV 源碼編譯并實現(xiàn) CUDA 加速 (Windows)

    目錄 1. 環(huán)境準備 1.1 軟件環(huán)境 1. 2 源碼下載 2. CMake編譯項目 2.1 創(chuàng)建cmake項目 2.2 設(shè)置編譯配置 2.3 解決異常 2.3.1 文件下載異常 2.3.2 解決CUDA版本異常 2.4 編譯項目 3. Visual Studio 編譯項目 4. 項目測試 5. 總結(jié) ? OpenCV是一個基于Apache2.0許可(開源)發(fā)行的跨平臺計算機視覺和機器

    2024年02月03日
    瀏覽(24)
  • Linux/Debian/Ubuntu-OpenCV(4.5.4/4.6.0)+CUDA(11.3)配置編譯全流程

    Linux/Debian/Ubuntu-OpenCV(4.5.4/4.6.0)+CUDA(11.3)配置編譯全流程

    本文用來記錄在linux環(huán)境下docker中編譯 OpenCV with cuda 的過程,同時編譯了4.5.4和4.6.0兩個版本均可編譯通過。 本地是linux環(huán)境也可參考本文完成編譯。 系統(tǒng):debian 11 CPU:i7 內(nèi)存:16G 顯卡:Nvidia Quadro M2000 github直接下載連接: OpenCV 4.5.4 source code OpenCV 4.6.0 source code 如需下載其他

    2024年02月10日
    瀏覽(30)
  • Windows11+Opencv+Clion編譯源碼

    Windows11+Opencv+Clion編譯源碼

    參考:https://www.robotsfan.com/posts/69395e08.html 注意事項 編譯過程中使用的軟件,開源碼等所有工具的安裝路徑一定不要有中文和空格。 cmake過程會下載一些文件,如果是局域網(wǎng)的話可能下載不下來,可以事先下載好拷貝到相應(yīng)目錄。 OpenCV默認會編譯很多功能,有些功能需要先自

    2024年02月14日
    瀏覽(46)
  • cmake 編譯opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版以及vs2022配置opencv-gpu

    cmake 編譯opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版以及vs2022配置opencv-gpu

    cmake 編譯opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版本編譯方法相同,本文以opencv4.5.5為例 一定確保已經(jīng)成功安裝了cuda工具包,以及VS編譯器,清單如下 cuda工具包 visual studio 編譯器 cmake構(gòu)建工具 opencv源碼 opencv-contrib源碼 1.1 cmake構(gòu)建工具下載 https://cmake.org/download/ 1.2 opencv源碼下載 官網(wǎng)

    2023年04月25日
    瀏覽(25)
  • OpenCV3程序轉(zhuǎn)到OpenCV4編譯的問題

    error: ‘CV_INTER_LINEAR’ was not declared in this scope OpenCV4部分取消了CV_前綴 解決方法很簡單,就是找到報錯的文件,報錯的變量修改適配 OpenCV4 中的變量。 或者,添加頭文件 error: ‘CV_RANSAC’ was not declared in this scope error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope 或者,添加頭文件

    2024年02月12日
    瀏覽(20)
  • ubuntu下opencv4.6.0環(huán)境安裝編譯

    ubuntu下opencv4.6.0環(huán)境安裝編譯

    目錄 一.下載安裝包 二.配制安裝環(huán)境 三.開始安裝opencv 四.添加路徑 五、配制環(huán)境 六、.出現(xiàn)以下異常: 七.測試Opencv: 1.下載opencv opencv-4.6.0.zip + opencv_contrib-4.x.zip 2.新建 opencv 文件夾將下載好的: opencv-4.6.0.zip 解壓到opencv文件夾里面; 3.將解壓 opencv_contrib-4.x.zip 的文件放入open

    2024年02月12日
    瀏覽(26)
  • 編譯工程需要Opencv3 與 ROS自帶Opencv4沖突解決辦法

    編譯工程需要Opencv3 與 ROS自帶Opencv4沖突解決辦法

    在CmakeLists中 屏蔽ROS自帶的Opencv庫 此時可能 cv_brige 也會發(fā)生沖突,因為默認的 cv_brige 也是和 Opencv4 配套使用 需要修改如下內(nèi)容: 1.頭文件目錄:修改為安裝opencv3的路徑 2.庫目錄:需要什么庫鏈接什么庫就夠了

    2024年02月08日
    瀏覽(40)
  • Ubuntu 下 opencv4.8.0 (包含拓展庫) 的編譯安裝

    Ubuntu 下 opencv4.8.0 (包含拓展庫) 的編譯安裝

    首先展示一下我電腦的信息: opencv-4.8.0.zip:?https://codeload.github.com/opencv/opencv/zip/refs/tags/4.8.0 opencv-contrib-4.8.0.zip:?https://codeload.github.com/opencv/opencv_contrib/zip/refs/tags/4.8.0 后面我發(fā)現(xiàn)在安裝擴展庫時還有一部分依賴沒有裝。 ?關(guān)于你缺少了什么依賴,可以通過閱讀cmake時的輸出來看

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包