c#数字图像处理(二)彩色图像灰度化,灰度图像二值化
为加快处理速度,在图像处理算法中,往往需要把彩色图像转换为灰度图像,在灰度图像上得到验证的算法,很容易移 植到彩色图像上。 24位彩色图像每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝)。当R、G、B分量值不同时,表现为彩色图像;当R、G、B分量值相同时,表现为灰度图像,该值就是我们所求的一般来说,转换公式有3种。第一种转换公式为: Gray(i,j)=[R(i,j)+G(i,j)+B(i,j)]÷3 (2.1) 其中,Gray(i,j)为转换后的灰度图像在(i,j)点处的灰度值。该方法虽然简单,但人眼对颜色的感应是不同的,因此有了第二种转换公式: Gray(i,j)=0299R(i,j)+0.587×G(i,j)+0.114×B(i,j) (2.2) 观察上式,发现绿色所占的比重最大,所以转换时可以直接使用G值作为转换后的灰度 Gray(i,j)=G(i,j) (2.3) 在这里,我们应用最常用的公式(2.2),并且变换后的灰度图像仍然用24位图像表示。 1.提取像素法 这种方法简单易懂,但相当耗时,完全不可取. 该方法使用的是GD+中的 Bitmap Getpixel和 BitmapSetpixel.方法。为了将位图的颜色设置为灰度或其他颜色,就需要使用