본문 바로가기

Image Processing/OpenCV

Gpu에서 영상 다루기[1] - OpenCL

OpenCL (open computing language) 이용 방법

 

특징

- 다양한 종류의 Gpu에서 이용가능

- UMat Class 이용

 

사용 방법

1. Context 생성

ocl::Context context;

context.create(ocl::Device::TYPE_GPU)

 

2. Device(Gpu)와 Context 설정

ocl::Device(context.device(0));

 

3. UMat에 Mat Data 설정

Mat mSrc = imread("lena.jpg", IMREAD_GRAYSCALE);

UMat src = mSrc.getUMat(ACCESS_READ);

 

4. OpenCL Enable 상태 설정

ocl::setUseOpenCL(true);

 

5. OpenCV 처리 함수의 SrcArr(UMat)과 DstArr(UMat) 설정 및 처리

UMat dst;

Sobel(src, dst, -1, 1, 0);

 

6. 처리된 결과를 Mat형식으로 복사

Mat mDst = dst.getMat(dst, ACCESS_READ);

 

결과

GeForce RTX2060 기준 / 10000번

 

'Image Processing > OpenCV' 카테고리의 다른 글

Video Codec SDK 사용 시 주의점  (0) 2020.12.09
IP Camera의 연결 여부 확인  (0) 2020.12.08
Gpu에서 영상 다루기[2] - CUDA  (0) 2020.07.16