OpenCV Cuda 설치
10월 23일 추가
- Nvidia Codec 추가
사전 준비
GPU 검사
장치 관리자 에서 확인
GPU와 알맞은 연산 능력 버젼 확인
2. OpenCV 소스 다운로드
OpenCV 4.7.0 소스와 확장 모듈까지 소스 다운로드한다 압축 파일이기에 원하는 공간에 압축 풀어준다. 또 Build 파일 생성해준다.
3. CMAKE 파일 다운로드
4. Visual Studio 다운로드
CUDA 와 cuDNN 설치
해당 설정에 맞게 설치 진행한다
cuDNN 인경우 Nvidia 회원 가입이 필요하다
CUDA 설치후 설치 폴더 경로에 cuDNN 파일 을 덮어 넣습니다.
- 사전 세팅
기존에 설치 되어있던 OpenCV 버젼 삭제 진행한다.
pip uninstall opencv-python
numpy 설치 필요
pip install numpy
Cmake 이용하여 OpenCV 만들기
필수적인 선택 사항으로
-
OPENCV_DNN_CUDA
-
WITH_CUDA
-
ENABLE_FAST_MATH
-
OPENCV_EXTRA_MODULES_PATH (확장 모듈 경로 선택) ex) D:\CUDA\opencv_contrib-4.7.0\opencv_contrib-4.7.0\modules
-
OPENCV_PYTHON_VERSION (Release 모드로 선택할떄)
-
INSTALL_PYTHON_EXAMPLES (선택)
-
WITH_OPENGL
- BUILD_opencv_world //라이브러리 통합 할경우
이후 Configure 이후 다시 체크해줘야하는것이
-
WITH_CUDNN
-
WITH_CUBLAS
-
CUDA_FAST_MATH
- CUDA_ARCH_BIN (자신에 맞는 버젼 GPU) RTX 3060Ti = 8.6
Cmake 에서 Generate 클릭후
Visual studio 이용하여 OpenCV build 하기
빌드 모드르 Release 변경후 ALL_BUILD 빌드 하면된다 (1시간 이상 걸림) -> 오류 없이완료후 아래 INSTALL 빌드 실행
검증하기
import cv2 as cv
vod = cv.VideoCapture(0)
ret, frame = vod.read()
gpu_frame = cv.cuda_GpuMat()
# as long as the last frame was successfully read
while ret:
# send current frame to GPU
gpu_frame.upload(frame)
# grab next frame with CPU
ret, frame = vod.read()
cv.imshow("test",frame)
결론
C ++ 관련해서 동작확인 했지만 python 실행시 빌드하고 나서 python import cv 해보니 관련 오류가 발생했습니다
ImportError: DLL load failed while importing cv2: 지정된 모듈을 찾을 수 없습니다.
물론 아무 개발 환경이 설치 되어있는 환경에서 설치에서 문제 없이 동작했으니 참고하셔서 개발 환경 구축에 성공하시기 바랍니다.
혹시 이 글을 보시고 해당 문제 해결 법을 아시면 알려주시면 감사합니다.
# 6. Nvidia Video Codec 추가
- 최신 Nvidia Video Codec 을 다운 받습니다. (압축풀어 줍니다)
https://developer.nvidia.com/nvidia-video-codec-sdk/download
- 다운 받은 Codec 을 자신의 Cuda 버젼 이 있는 폴더에 확인합니다.
보통 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA<버젼정보>
위치에 존재합니다
- Codec 파일에 lib 폴더에 있는 폴더는 cuda 에 lib 옮겨주고 Codec 파일에 lib 폴더에 있는 폴더는 cuda 버젼 include 옮겨 줍니다
위에 build 과정을 진행합니다
Cmake에서 Nvidia 설정이 되었는지 확인할 수 있습니다
출처
- 쿠다 버젼 https://ko.wikipedia.org/wiki/CUDA
- 참고 영상
https://www.youtube.com/watch?v=tjXkW0-4gME
https://www.youtube.com/watch?v=5NwU1MmmqWo
-
한글 자료 https://prlabhotelshoe.tistory.com/24
-
Cmake 옵션 https://docs.opencv.org/4.x/db/d05/tutorial_config_reference.html
댓글남기기