由于系统中的conda -vv参数不能有效显示内容,遂决定备份环境重新安装conda,于是就将心心念念的mamba装上了,但是之前的gpu版opencv是自己编译的,并且当时如何编译的没有记住,于是不得不重新编译学习并记录OpenCV的编译过程。
之前是在一个网站里找到的教程,因为谷歌浏览器的一个小毛病,导致我清理历史记录后找不到地址了。凭借着记忆在Google搜索,终于功夫不负有心人,是找到了。
https://www.jamesbowley.co.uk/qmd/opencv_cuda_python_windows.html
我曾经尝试过若干种编译的方式,唯独上面这一种是我成功编译了的。
按照教程推荐,遇到了一个问题,是关于numpy的一个路径的。于是修改教程中代码如下。"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
"C:\Program Files\CMake\bin\cmake.exe" -H"D:/Code/temp/opencv" -DOPENCV_EXTRA_MODULES_PATH="D:/Code/temp/opencv_contrib/modules" -B"D:/Code/temp/opencv/build" -G"Ninja Multi-Config" -DCMAKE_BUILD_TYPE=Release -DINSTALL_TESTS=ON -DINSTALL_C_EXAMPLES=ON -DBUILD_EXAMPLES=ON -DBUILD_opencv_world=ON -DENABLE_CUDA_FIRST_CLASS_LANGUAGE=ON -DWITH_CUDA=ON -DCUDA_GENERATION=Auto -DBUILD_opencv_python3=ON -DPYTHON3_INCLUDE_DIR="D:/ProgramData/mambaforge/include" -DPYTHON3_LIBRARY="D:/ProgramData/mambaforge/libs/python39.lib" -DPYTHON3_EXECUTABLE="D:/ProgramData/mambaforge/python.exe" -DPYTHON3_NUMPY_INCLUDE_DIRS="D:/ProgramData/mambaforge/Lib/site-packages/numpy/core/include" -DPYTHON3_PACKAGES_PATH="D:/ProgramData/mambaforge/Lib/site-packages/" -DPYTHON3_NUMPY_INCLUDE_DIRS="D:/ProgramData/mambaforge/Lib/site-packages/numpy/_core/include"
"C:\Program Files\CMake\bin\cmake.exe" --build D:/Code/temp/opencv/build --target install --config Release
完美编译 ,心情愉悦。
再次编译了,升级了python,git pull了一下库,重新编译的。记录一下编译过程。
rmdir /s /q "D:\Code\temp\opencv\build"
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
然后是Cmake配置:
set CMAKE_BUILD_PARALLEL_LEVEL=20
"C:\Program Files\CMake\bin\cmake.exe" ^
-H"D:/Code/temp/opencv" ^
-DOPENCV_EXTRA_MODULES_PATH="D:/Code/temp/opencv_contrib/modules" ^
-B"D:/Code/temp/opencv/build" ^
-G"Ninja Multi-Config" ^
-DCMAKE_BUILD_TYPE=Release ^
-DINSTALL_TESTS=OFF ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DINSTALL_C_EXAMPLES=ON ^
-DBUILD_EXAMPLES=ON ^
-DBUILD_opencv_world=ON ^
-DENABLE_CUDA_FIRST_CLASS_LANGUAGE=ON ^
-DWITH_CUDA=ON ^
-DCUDA_GENERATION=Auto ^
-DBUILD_opencv_python3=ON ^
-DPYTHON3_EXECUTABLE="D:/ProgramData/mambaforge/python.exe" ^
-DPYTHON3_INCLUDE_DIR="D:/ProgramData/mambaforge/include" ^
-DPYTHON3_LIBRARY="D:/ProgramData/mambaforge/libs/python311.lib" ^
-DPYTHON3_NUMPY_INCLUDE_DIRS="D:/ProgramData/mambaforge/Lib/site-packages/numpy/_core/include" ^
-DPYTHON3_PACKAGES_PATH="D:/ProgramData/mambaforge/Lib/site-packages"
然后执行编译
"C:\Program Files\CMake\bin\cmake.exe" --build "D:/Code/temp/opencv/build" --target install --config Release
DLL加入环境变量
D:\Code\temp\opencv\build\install\x64\vc17\bin