簡體   English   中英

cmake 構建后,在 Python 的 site-package 文件夾中找不到 cv2

[英]cv2 is not found at site-package folder of Python after cmake build

我正在嘗試在 Python 3.9.6 上使用 CUDA 函數構建 opencv
我在沒有 Python3_LIBRARY_DEBUG 的情況下設置了與 Python3 相關的路徑,並使用 cmake 檢查它們是否正確。
opencv(具有 CDA 功能)的構建沒有錯誤。

cmake --build "fullpath to build folder" --target INSTALL --config Release

但是在 cmake 構建后,在 Python 的 site-package 文件夾中找不到 cv2 文件夾。

・操作系統:Windows 10 Pro for Workstation
・蟒蛇:3.9.6
・Cmake(GUI):3.20.5,生成器:Visual Studio 16 2019
・opencv:4.5.3,opencv_contrib:4.5.3

步驟 0:先決條件

  • 下載並安裝 CUDA 和 cuDNN。
  • 下載並安裝 CmakeGUI。
  • 下載並安裝 Visual Studio 社區版。 使用 Desktop Development for C++ 選項安裝。
  • 下載 OpenCV 源代碼。
  • 下載 OpenCV 貢獻。 確保版本與 OpenCV 匹配。
  • 提取 OpenCV 和 OpenCV contrib zip 文件。
  • 創建一個名為 build 的空文件夾。

第 1 步:使用 CMake GUI 構建 OpenCV

  • 打開 CMake GUI 並瀏覽 OpenCV 源文件夾。
  • 瀏覽 wGo 的 make 文件夾以構建文件夾並使用 Visual Studio 打開 OpenCV.sln 文件。 上面創建的。
  • 單擊配置並選擇 X64 平台並點擊完成。
  • 新選項將以紅色顯示在 CMake 中。 在那里勾選這些復選框:WITH_CUDA、OPENCV_DNN_CUDA、ENABLE_FAST_MATH
  • 在同一窗口中,轉到 OPENCV_EXTRA_MODULES_PATH 並瀏覽 OpenCV contrib 目錄並指向模塊子文件夾。
  • 再次點擊配置。 您將看到紅色的新選項。 勾選 CUDA_FAST_MATH 復選框。 從 CUDA_ARCH_BIN 屬性中,刪除您的 nVidia GPU 模型不支持的任何計算架構。 您可以找到適用於您的 GPU 模型的兼容計算架構列表。
  • 點擊配置,然后生成。

第 2 步:使用 Visual Studio 制作 OpenCV

  • 轉到 build 文件夾並使用 Visual Studio 打開 OpenCV.sln 文件。
  • 打開后,從頂部將 Debug 更改為 Release。
  • 在右側的面板上,展開 Cmake 目標。
  • 右鍵單擊 ALL_BUILD 並單擊構建。
  • 完成后,右鍵單擊安裝並單擊構建。

驗證 GPU 計算加速

這是一個小代碼,它使用 NumPy 在 CPU 上和使用 OpenCV 在 GPU 上執行簡單的矩陣乘法。

import numpy as np
import cv2 as cv

npTmp = np.random.random((1024, 1024)).astype(np.float32)

npMat1 = np.stack([npTmp,npTmp],axis=2)
npMat2 = npMat1

cuMat1 = cv.cuda_GpuMat()
cuMat2 = cv.cuda_GpuMat()
cuMat1.upload(npMat1)
cuMat2.upload(npMat2)

print(%timeit cv.cuda.gemm(cuMat1, cuMat2,1,None,0,None,1))
print(%timeit cv.gemm(npMat1,npMat2,1,None,0,None,1))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM