编译后的opencv-cuda任意位置任意机器的移植(python版本

  1. 测试环境:
OS: Windows
python: 3.10.11 amd64
opencv: 4.9.0
  1. 准备:
  • 复制build目录下面的install到目标路径,例如:d:\opencv-cuda490\install
  • 复制python目录下Lib\site-packages\cv2到目标路径,例如:d:\3.10.11-embed-opencv-cuda\Lib\site-packages
  1. 修改:
  • 假如cv2的目标路径: d:\3.10.11-embed-opencv-cuda\Lib\site-packages\cv2
  • 1.打开目录下的config.py, 修改 opencv-cuda 和 CUDA_PATH 为环境对应的路径
import os

BINARIES_PATHS = [
    os.path.join('d:/opencv-cuda_490/install', 'x64/vc17/bin'),
    os.path.join(os.getenv('CUDA_PATH', 'd:/CUDA/v11.8'), 'bin')
] + BINARIES_PATHS
  • 2.打开目录下的config-3.10.py, 修改对应路径和版本号
    PYTHON_EXTENSIONS_PATHS = [ os.path.join('d:/3.10.11-embed-opencv-cuda/Lib/site-packages/cv2', 'python-3.10') ] + PYTHON_EXTENSIONS_PATHS
  1. 测试:
import cv2

_res = cv2.cuda.getCudaEnabledDeviceCount()
print(f'getCudaEnabledDeviceCount: {_res}')

cv2.cuda.printCudaDeviceInfo(0)
print(f'{cv2.__version__}')

  1. 注意事项:
  • 编译时需要使用安装版python
  • 移值后可以使用embed版python和各种虚拟环境
  • 无法通过pip list看到该移值包
posted @ 2024-03-05 12:29  罗大湿  阅读(203)  评论(0)    收藏  举报