1. RGB 색상을 그레이스케일로 변환
변환 공식
- Y = 0.299R + 0.587G + 0.114B
- 장점: 데이터 저장용량 감소, 연산처리속도 향상
- 단점: 색상정보 손실
코드
int main() {
mat src = imread("lenna.bmp");
#if 0
Mat dst = Scalar(255, 255, 255) - src;
#else
Mat dst(src.rows, src.cols, CV_8UC1);
for(int y = 0; y < dst.rows; y++) {
for(int x = 0; x < dst.cols; x++) {
Vec3b v = src.at<Vec3b>(y,x);
uchar b = v[0];
uchar g = v[1];
uchar r = v[2];
dst.at<uchar>(y,x) = uchar(0.299*r + 0.587*g + 0.114*b);
}
}
#endif
imshow("src", src);
imshow("dst", dst);
waitKey();
}