中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

如何做班級網(wǎng)站長沙seo排名公司

如何做班級網(wǎng)站,長沙seo排名公司,購買云服務器,網(wǎng)站建設wap【opencv】windows10下opencv4.8.0-cuda Python版本源碼編譯教程 提示:博主取舍了很多大佬的博文并親測有效,分享筆記邀大家共同學習討論 文章目錄 【opencv】windows10下opencv4.8.0-cuda Python版本源碼編譯教程前言準備工具anaconda/cuda/cudnnanaconda創(chuàng)建環(huán)境(選做)安裝原…

【opencv】windows10下opencv4.8.0-cuda Python版本源碼編譯教程

提示:博主取舍了很多大佬的博文并親測有效,分享筆記邀大家共同學習討論

文章目錄

  • 【opencv】windows10下opencv4.8.0-cuda Python版本源碼編譯教程
  • 前言
  • 準備工具
    • anaconda/cuda/cudnn
    • anaconda創(chuàng)建環(huán)境(選做)
    • 安裝原生python(選做)
    • cmake
    • opencv4.8.0
    • opencv_contrib
  • CMake編譯
  • VS2019編譯
  • 可能出現(xiàn)的問題
    • cmake編譯過程中可能出現(xiàn)的問題
    • VS2019編譯過程中可能出現(xiàn)的問題
  • 測試使用GPU
  • 總結(jié)


前言

OpenCV是一個開源的計算機視覺庫,包含了核心模塊和擴展模塊,提供了基礎的圖像處理和計算機視覺算法,以及一些機器學習工具。而OpenCV Contrib是OpenCV社區(qū)貢獻的一組擴展模塊之一,包含了一些較為新穎和實用的算法和工具函數(shù),提供了一些高級的圖像處理和計算機視覺算法。這些功能和算法可能不適合所有用戶或者還處于實驗性階段。OpenCV Contrib模塊中的代碼由社區(qū)貢獻者開發(fā)和維護,它們提供了一些在OpenCV核心庫中尚未包含的新特性和實驗性功能。


準備工具

cmake、vs2019、opencv4.8.0、opencv_contrib-4.8.0、anaconda、cuda、cudnn

anaconda/cuda/cudnn

安裝cuda、cudnn可以參考此前博主的【深度學習windows10環(huán)境配置詳細教程】,因為對于新手來說,需要注意的細節(jié)比較多,這里不浪費篇幅重復講述了。

anaconda創(chuàng)建環(huán)境(選做)

為了將CUDA版本的opencv安裝到虛擬環(huán)境中,安裝到默認環(huán)境(base)不需要執(zhí)行此步驟。

# 搭建opencv環(huán)境
conda create -n opencv_onnx_gpu python=3.10.9 -y
# 激活環(huán)境
activate opencv_onnx_gpu

虛擬環(huán)境中需要安裝numpy,后續(xù)的編譯過程中需要。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

安裝原生python(選做)

在使用 CMake 為 Anaconda 新建的虛擬環(huán)境安裝 OpenCV 時,需要在主機上安裝一個與虛擬環(huán)境中的 Python 版本一致的原生環(huán)境,這是由于CMake 需要在構(gòu)建過程中使用與虛擬環(huán)境中的 Python 版本一致的 Python 解釋器來生成適用于該版本的 Python 綁定。
博主在anaconda創(chuàng)建的虛擬環(huán)境python為3.10,因此需要安裝了python3.10原生版本,否則即使通過編譯但始終無法使用opencv-python。

原生python官網(wǎng)下載地址,選擇Windows版本。

這里通過激活虛擬環(huán)境查看安裝對應的版本,博主不確定這種微小版本的差異會不會影響后續(xù)編譯測試,所以最好都保持一致。

勾選加入系統(tǒng)環(huán)境后直接安裝。

配置環(huán)境變量,這里可能出現(xiàn)cmd使用的python版本還是使用anaconda的base環(huán)境的情況,這是因為在環(huán)境變量Path中anaconda的順序排在原生Python的前面,調(diào)整原生python的路徑在anaconda的base之前即可。

cmake

CMake官方下載地址,下載cmake-3.27.7-windows-x86_64.msi。

添加到環(huán)境和安裝路徑博主根據(jù)自身情況作出了修改,其他都是默認安裝。

出現(xiàn)以下界面安裝成功。

opencv4.8.0

Opencv官方下載地址,下載OpenCV – 4.8.0 Sources,下載解壓opencv-4.8.0.zip。

opencv_contrib

opencv_contrib官方下載地址,選擇opencv對應的contrib版本,例如opencv4.8.0對應就是opencv_contrib-4.8.0.zip。下載后直接解壓。


CMake編譯

  1. 打開CMake,where is the source code是Opencv sources(博主是opencv-4.8.0)的文件夾位置,where to build the binaries是編譯opencv保存的文件夾位置(自定義),在左下角第一次點擊Configure。
  2. 選擇對應vs的版本(博主是vs2019),系統(tǒng)選擇x64,最后點右下角Finish,顯示Configuring done。
  3. 安裝到默認環(huán)境(base)不需要執(zhí)行此步驟,該步驟步驟的目的是安裝cuda版本opencv到用戶自定義的虛擬環(huán)境中,分別將路徑指向自定義虛擬環(huán)境的對應位置 : PYTHON3_EXECUTABLE、PYTHON3_INCLUDE_DIR、PYTHON3_LIBRARY、PYTHON3_NUMPY_INCLUDE_DIRS(需要安裝numpy)、PYTHON3_PACKAGES_PATH。
    4.在Search搜索框搜索帶cuda的關(guān)鍵字,全部勾選。
  4. Search搜索框搜索OPENCV_EXTRA_MODULES_PATH,添加解壓的opencv_contrib中的modules的路徑,再搜索并勾選OPENCV_ENABLE_NONFREE選項。
  5. 將build_opencv_world選上,這可以將所有opencv的庫都編譯在一起,不需要自己手動選擇添加每個小模塊,但是具體的工程又不建議這種全家桶。
  6. 對于java、js、tests相關(guān)選項的選擇,用Search搜索框分別搜索“java”,“js”,“tests”,根據(jù)需要選中和取消相關(guān)選項,默認都是選中,博主都取消了,必須勾選BUILD_opencv_python3,決定了能否在python中使用GPU加速,第二次點擊Configure。
  7. 顯示Configuring done后,將CUDA_ARCH_BIN顯卡算力內(nèi)容改成自己顯卡的算力。官網(wǎng)查看顯卡算力地址,刪除小于自己顯卡算力的部分,再搜索并勾選ENABLE_FAST_MATH選項,第三次點擊Configure。
  8. 顯示Configuring done后,點擊generate,顯示generating done,成功完成cmake編譯,在輸出的opencv保存文件夾位置中存在就生成了OpenCV.sln文件。

cmake編譯過程是會從githup上下載數(shù)據(jù),但是一般都會出現(xiàn)下載失敗的情況,這里建議讀者先跳到【可能出現(xiàn)的問題】這一小節(jié),來確認是不是自己也出現(xiàn)了下載失敗的情況。


VS2019編譯

  1. 確保在解決方案的bindings這個目錄下有opencv_python3,否則即使編譯成功仍然不能使用CUDA加速。
  2. 使用VS2019 (以管理員方式運行) 打開剛剛編譯工程OpenCV.sln,在release|x64模式下,在解決方案資源管理器—>CMakeTargets—>右鍵點擊ALL_BUILD–>生成。
  3. 同樣在release|x64模式下,在解決方案資源管理器—>CMakeTargets—>右鍵點擊INSTALL–>生成。

沒有任何報錯信息就是編譯完成,在XXX\lib\python3\Release文件夾下可以看到cv2.cpxxx-win_amd64.pyd文件。

XXX是編譯opencv保存的文件夾位置(博主是opencv-4.8.0-vs2019-64),cpxx是python版本(博主是cp310)

同時,在虛擬環(huán)境中,可以在路徑Lib\site-packages下看到cv2文件夾

進入cv2目錄打開config.py可以看到虛擬環(huán)境opencv_onnx_gpu依賴于cmake編譯的opencv(where to build the binaries)。

博主將依賴的opencv拷貝到了虛擬環(huán)境中,并修改了依賴的路基。


可能出現(xiàn)的問題

cmake編譯過程中可能出現(xiàn)的問題

cmake編譯出現(xiàn)Download failed的問題。

在where to build the binaries位置里面有個CMakeDownloadLog.txt,將里面下載鏈接復制到瀏覽器進行下載,

將其和where is the source code里面的.cache文件夾里面內(nèi)容相對應,下圖是下載失敗時候,文件大小是0KB,手動下載完成后進行替換。

注意用來替換的文件的名稱要與對應空文件的名稱保持一致。


對于部分文件則需要將網(wǎng)頁以另存為的方式進行替換,注意一定不要以復制網(wǎng)頁內(nèi)容粘貼到空文件的方式進行替換,這是無效的的。

將整個.cache都用同樣的方式進行處理。

強調(diào)一點,出現(xiàn)這種問題,可以暫時先走完CMake編譯過程,因為每一次Configuring都會有新的下載內(nèi)容,然后再一次性將.cache的內(nèi)容進行完整的替換,最后進行Configuring和Generate。

VS2019編譯過程中可能出現(xiàn)的問題

通常是對于部分資源,vs2019沒有管理員操作權(quán)限,因此只需要用管理員身份重新打開進行操作即可。


測試使用GPU

這里用一段簡單的python代碼驗證安裝完成的opencv是否支持gpu設備。

import cv2
# 檢查是否支持CUDA
if cv2.cuda.getCudaEnabledDeviceCount():print("檢測到支持CUDA的設備數(shù)量:", cv2.cuda.getCudaEnabledDeviceCount())
else:print("未檢測到支持CUDA的設備")

驗證成功,oepncv-cuda版本源碼編譯成功。


總結(jié)

盡可能簡單、詳細的介紹windows10下Python版本opencv4.8.0-cuda版本用源碼進行編譯的詳細流程。

http://m.risenshineclean.com/news/64921.html

相關(guān)文章:

  • 介紹網(wǎng)站開發(fā)的意義微信軟文模板
  • 廣州番禺網(wǎng)站建設b站網(wǎng)頁入口
  • 做直播網(wǎng)站用什么語言網(wǎng)頁設計成品源代碼
  • 網(wǎng)站建設屬于服務還是貨物推廣普通話繪畫
  • 用dw怎么做登錄頁面的網(wǎng)站個人網(wǎng)頁
  • 網(wǎng)站建設公司報價seo是付費還是免費推廣
  • wordpress博客案例seo網(wǎng)絡優(yōu)化軟件
  • 重慶做網(wǎng)站個人谷歌搜索引擎下載
  • 做淘寶客網(wǎng)站用什么系統(tǒng)線上推廣怎么做
  • 做農(nóng)資的網(wǎng)站網(wǎng)站流量統(tǒng)計工具有哪些
  • cms做網(wǎng)站后臺互聯(lián)網(wǎng)推廣的方式
  • 網(wǎng)站日志怎么做網(wǎng)站收錄一鍵提交
  • wordpress中文免費模板下載寧波seo外包推廣公司
  • 蘇州網(wǎng)站網(wǎng)絡營銷推廣石家莊seo代理商
  • 小程序大概需要多少錢南京seo圈子
  • 山南網(wǎng)站建設網(wǎng)絡平臺推廣方案
  • 做編程題的網(wǎng)站全國新冠疫苗接種率
  • seo營銷網(wǎng)站的設計標準百度快照優(yōu)化
  • 有什么專門搜試卷做的網(wǎng)站app推廣平臺排行榜
  • 重慶裝修貸廣州seo服務外包
  • 廣州天河區(qū)網(wǎng)站建設搜索引擎推廣有哪些
  • 移動端是指手機還是電腦優(yōu)化大師如何刪掉多余的學生
  • 安卓市場2022最新版下載河南網(wǎng)站關(guān)鍵詞優(yōu)化
  • 蘇州網(wǎng)站建設選蘇州夢易行百度網(wǎng)游排行榜
  • 余姚網(wǎng)站制作軟文營銷是什么意思
  • 俄文網(wǎng)站策劃搜索引擎都有哪些
  • 燕郊做網(wǎng)站的外貿(mào)網(wǎng)站建設 google
  • 淘客軟件自動做網(wǎng)站百度網(wǎng)址大全舊版
  • 網(wǎng)站界面用什么軟件做百度云電腦版網(wǎng)站入口
  • 適合做外鏈的網(wǎng)站互聯(lián)網(wǎng)平臺