- 测试环境:
OS: Windows
python: 3.10.11 amd64
opencv: 4.9.0
- 准备:
- 复制build目录下面的install到目标路径,例如:d:\opencv-cuda490\install
- 复制python目录下Lib\site-packages\cv2到目标路径,例如:d:\3.10.11-embed-opencv-cuda\Lib\site-packages
- 修改:
- 假如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
- 测试:
import cv2
_res = cv2.cuda.getCudaEnabledDeviceCount()
print(f'getCudaEnabledDeviceCount: {_res}')
cv2.cuda.printCudaDeviceInfo(0)
print(f'{cv2.__version__}')
- 注意事项:
- 编译时需要使用安装版python
- 移值后可以使用embed版python和各种虚拟环境
- 无法通过pip list看到该移值包