이번 포스팅에서 기존 영상처리에 사용되었던 기술인 Adaptive Binarization 을
CUDA 를 이용해 구현하는 방법을 알아볼 것이다.
그 전 작업에서는 GPU 메모리 할당 작업을 .cu 안에서 진행했다. 그래서 ImageProcessingDoc.cpp 이벤트 함수에
메모리 할당 작업은 없고 메모리 해제 작업만 있었다. 이를 Doc 에서 할당하고 Doc 에서 해제 하게끔 바꿔보자.
ImageProcessingDoc.cpp
.cu 파일에 불필요하게 메모리를 할당하고 0으로 세팅하는 코드는 삭제한다.
CUDAImageProc.cu
이제 Doc 에서 GPU 메모리를 할당하고, 해제하게 되었다.
그러면 Binary Dilation, Erosion 을 구현해보자.
이벤트 처리기 부터 만들어보자
ImageProcessingDoc.cpp
ImageProc.cpp
ImageProc 에서 사용할 .cu 소스의 함수를 선언하자.
ImageProc.h
.cu 에 커널 함수와 커널함수 호출을 도와줄 함수를 정의하자.
CUDAImageProc.cu
결과는 기존의 Dilation, Erosion 과 같아야 한다.