11-29 06:12
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[OpenCV] Low-level Pointer를 사용하여 특정 Pixel에 접근하기 본문

Programming/OpenCV

[OpenCV] Low-level Pointer를 사용하여 특정 Pixel에 접근하기

cinema4dr12 2015. 3. 5. 00:09

우선 cv::Mat의 이미지 데이터를 얻어옵니다:


cv::Mat image = cv::imread( YOUR_IMAGE_PATH );


이미지의 시작 픽셀에 대한 데이터 포인터는 다음과 같이 얻을 수 있습니다:


uchar *data = image.data;


이 데이터 포인터로부터 이미지의 다음 행(row)의 포인터를 얻을 수 있습니다:


data += image.step;


step은 이미지의 한 라인 내의 모든 bytes 수입니다.


만약 (j, i)에 해당하는 픽셀의 주소값을 얻고 싶다면 다음과 같이 얻을 수 있습니다:


data = image.data + j*image.step + i*image.elemSize();


이것은 &image.at( j, i )과 동일한 연산입니다.

Comments