数字图像处理艺术化效果——彩色图像转化为灰度图像(黑白照片)

灰度图像(黑白照片)

我们通常说的黑白照片并不是数字图像中的二值图,而是灰度图。由彩色图像转化为灰度图像的过程叫做灰度化处理。一般情况下彩色图像每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝),转换后的灰度图像的一个像素用一个字节表示该点的灰度值,它的值在0~255之间,数值越大,该点越白,即越亮,越小则越黑。转换关系为:
在这里插入图片描述

其中Gray(i,j)为转换后的灰度图像在(i,j)点处的灰度值。

灰度图只能表现256种颜色,灰度化处理还有其他的方法,如:取3个分量的最大值、最小值、算术平均值等,目的都是使颜色的R、G、B分量值相等。

//黑白
Mat BlackAndWhite(Mat src) {
	Mat output(src.size(), CV_8UC1);
	for (int i = 0; i < src.rows; i++) {
		for (int j = 0; j < src.cols; j++) {
			output.at<uchar>(i, j) = 0.11 * src.at<Vec3b>(i, j)[2] + 0.59 * src.at<Vec3b>(i, j)[1] + 0.30 * src.at<Vec3b>(i, j)[0];
		}
	}
	return output;
}

原图

数字图像处理艺术化效果——彩色图像转化为灰度图像(黑白照片)_第1张图片

效果图

数字图像处理艺术化效果——彩色图像转化为灰度图像(黑白照片)_第2张图片

你可能感兴趣的:(图像处理,opencv,计算机视觉,数字图像处理,艺术化效果,c++)