[OpenCV] Mat 데이터 픽셀에 접근하는 방법
개발환경
사용툴 : Visual Studio 2013 라이브러리 : openCV library 2.4.10 프로젝트 : Visual C++ console application 개발날짜 : 2015-04-17 |
출처 : 영혼이 있는 엔지니어
참고 : IplImage 와 Mat 타입 비교 - MusE & ICARUS
RGB 이미지일 경우. Mat 타입 접근 방법
IplImage* FaceDetection::Covert_Frame(IplImage* _origin, Mat skincolor) { IplImage* origin = cvCloneImage(_origin); uchar* skindata = 0; int index = 0; unsigned char pixel_val = 255;
for (int i = 0; i < origin->height; i++){ skindata = skincolor.ptr<uchar>(i); for (int j = 0; j < origin->width; j++){ if (skindata[j] == 0) { index = (j * 3) + (i * origin->widthStep); origin->imageData[index] = pixel_val; origin->imageData[index + 1] = pixel_val; origin->imageData[index + 2] = pixel_val; } } } return origin; } |