THE BEST
Build and Install OpenCV 4.5.1 with CUDA GPU บน Windows 10 แบบละเอียดยิบ
ติดตั้ง OpenCV v.4.5.1 เพื่อรันบน CUDA GPU บน Windows 10 ด้วยการ makefile มาเริ่มกันเลยครับ
- ขั้นตอนการเตรียมความพร้อมของระบบ
- ติดตั้ง OpenCV 4.5.1 for CUDA GPU
1.ขั้นตอนการเตรียมความพร้อมของระบบ
1.1 เตรียมความพร้อมของระบบโดยทำการติดตั้ง package ต่อไปนี้ก่อน
- Ananconda Python 3.8
- Microsoft Visual C++ 2015–2019 Redistributable (x64)
- NVIDIA CUDA
- cuDNN
สามารถดูได้จากบทความ การติดตั้ง TensorFlow GPU v. 2.4.1 Python 3.8 บน Windows 10 แบบง่าย
1.2 ติดตั้ง CMake ในบทความนี้ใช้ cmake-3.19.4-win64-x64.msi

1.3 สร้างโฟรเดอร์สำหรับ build project ในที่นี้จะสร้างไว้ที่ OpenCV-Build
1.4 Download OpenCV 4.5.1 Source จากเว็ป https://opencv.org/releases/ และทำการแตกไฟล์ไว้ที่พาธ OpenCV-Build

1.5 Download opencv_contrib จากเว็ป https://github.com/opencv/opencv_contrib และทำการแตกไฟล์ไว้ที่พาธ OpenCV-Build

2.ติดตั้ง OpenCV 4.5.1 for CUDA GPU
2.1 สร้างโฟลเดอร์ build และ install ไว้ที่พาธ C:\OpenCV-Build

2.2 เปิดโปรแกรม CMake
- กำหนดพาธ Where is the source code: ไว้ที่ C:/OpenCV-Build/opencv-4.5.1
- กำหนดพาธ Where to build the binaries: ไว้ที่ C:/OpenCV-Build/build
- ติ๊กช่อง Grouped

2.3 ที่ Configure > Optional platform for generator เลือก x64

2.4 หากสำเร็จจะได้ผลลัพธ์ตามรูปที่ 7.

2.5 ค้นหาและเลือกตรงช่อง WITH_CUDA

2.6 ค้นหาและเลือกตรงช่อง BUILD_opencv_dnn

2.7 ค้นหาและเลือกตรงช่อง OPENCV_DNN_CUDA

2.8 ค้นหาและเลือกตรงช่อง ENABLE_FAST_MATH

2.9 ค้นหาและเลือกตรงช่อง BUILD_opencv_world

2.10 ให้แน่ใจว่า ได้เลือกทั้งสามตัวนี้แล้ว BUILD_opencv_python3, BUILD_opencv_python_bindings_generator, BUILD_opencv_python_tests

2.11 กำหนดพาธ ตรงช่อง OPENCV_EXTRA_MODULES_PATH
เป็น C:/OpenCV-Build/opencv_contrib-4.5.1/modules กด Configure

2.12 หลังจากนั้น ให้ค้นหาและเลือกตรงช่อง CUDA_FAST_MATH

2.13 หลังจากนั้น ให้ค้นหาและเลือกตรงช่อง CUDA_ARCH_BIN

ค้นหารุ่นการ์ดจอด้วยคำสั่ง
nvidia-smi
ในที่นี้ใช้ GeForce GTX 1650 ตามรูปที่ 17

จากนั้นให้ไปที่เว็ป https://en.wikipedia.org/wiki/CUDA เพื่อค้นหา Compute
capability (version)

ในที่นี้คือค่า 7.5 นำไปใส่ในช่อง CUDA_ARCH_BIN ดังรูปที่ 19

2.14 ค้นหาและเลือกตรงช่อง CMAKE_INSTALL_PREFIX
แล้วแก้ไขพาธเป็น C:/OpenCV-Build/install ดังรูปที่ 20

2.15 ค้นหาและเลือกตรงช่อง CMAKE_CONFIGURATION_TYPES ลบ Debug ออก เหลือแค่ Releaseดังรูปที่ 21. กด Configure

2.16 จะได้ผลลัพธ์ตามรูปที่ 22 จากนั้นกดปุ่ม Generate

2.17 เปิด Command prompt (Run as administrator) และรันคำสั่งนี้
"C:\Program Files\CMake\bin\cmake.exe" --build "C:\OpenCV-Build\build" --target INSTALL --config Release

ซึ่งขั้นตอนนี้จะใช้เวลานานพอสมควร รอจนกว่าจะเสร็จสิ้นกระบวนการ

หลังจากที่รอกันมานานนม เราก็จะสามารถใช้งาน OpenCV v4.5.1 ได้แล้ว โดยรันคำสั่ง
python
import cv2
print(cv2.__version__)

จะได้ผลลัพธ์การรัน OpenCV บน base environment ดังรูป
++ Special plus การติดตั้ง OpenCV บน environment อื่น !!
conda -n opencv-gpu python==3.8
conda activate opencv-gpu
ที่ CMake กำหนดค่า python3 ให้ชี้ไปที่พาธที่สร้าง environment ไว้ กด Configure, Gennerate และทำขั้นตอนที่ 2.17 อีกครั้ง


จะได้ผลลัพธ์ดังรูป ขอขอบคุณทุกท่านที่อ่านมาถึงตรงนี้ หวังว่าคงจะมีประโยชน์ไม่มากก็น้อยนะครับ ในบทต่อไป เราจะมารันโปรแกรมที่ใช้ OpenCV บน GPU กันต่อครับ ขอบคุณครับ
CR
1. https://amornpan.medium.com/build-and-install-opencv-4-5-1-with-cuda-gpu-%E0%B8%9A%E0%B8%99-windows-10-%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%A5%E0%B8%B0%E0%B9%80%E0%B8%AD%E0%B8%B5%E0%B8%A2%E0%B8%94%E0%B8%A2%E0%B8%B4%E0%B8%9A-5751c56e8c5c
2. https://www.youtube.com/watch?v=YsmhKar8oOc
3. https://jordanbenge.medium.com/anaconda3-opencv-with-cuda-gpu-support-for-windows-10-e038569e228
--3. was useful--
4. if install new python need to --> pip install numpy
5.dnn lib copy lib match version into cuda vX.X