彩色图像处理基础知识:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
彩色位图的像素颜色由三种基本颜色R、G、B有机组合而成,R、G、B称为三基色,每种基色可取0~255范围内的任意值,因此三种基色可组合成256*256*256共1677万种颜色,每种颜色都有其对应的R、G、B值,常见的颜色机器对应的三原色值如表所示:
彩色位图颜色的分解:
Color c = new Color();
c = b1.GetPixel(i, j);
rr = c.R;
gg = c.G;
bb = c.B;
重新生成新的颜色:
Color c1=Color.FromArgb(rr, gg, bb);
b1.SetPixel(i, j, c1);
1、B单色处理:
首先加入两个PictureBox控件pictureBox1和pictureBox2,并且在pictureBox1中打开一幅图像,然后将处理后的图像显示在pictureBox2中,处理过程如下:
private void button1_Click(object sender, EventArgs e)
{
int i,j,bb;
Bitmap b1 = new Bitmap(pictureBox1.Image);
Bitmap b2 = b1;
Color cc = new Color();
for (i = 0; i < b1.Width; i++)
{
for (j = 0; j < b1.Height; j++)
{
cc = b1.GetPixel(i, j);
bb = cc.B;
Color c1 = Color.FromArgb(bb, bb, bb);
b2.SetPixel(i, j, c1);
}
}
pictureBox2.Image = b2;
}
2、G单色处理
处理方法和上面的B单色处理相似,只是用得到颜色的G值重构新颜色即可,
gg = cc.B;
Color c1 = Color.FromArgb(gg, gg, gg);
3、 R单色处理
处理方法和上面的B单色处理相似,只是用得到颜色的R值重构新颜色即可,
rr = cc.B;
Color c1 = Color.FromArgb(rr, rr, rr);
4、 平均处理
处理方法和上面的类似,只是颜色重构的时候有点区别,
cc = b1.GetPixel(i, j);
rr = cc.R;
gg = cc.G;
bb = cc.B;
rgb = (int)((rr + gg + bb) / 3); //rgb是一个int型的变量
if (rgb < 0)
rgb = 0;
if (rgb > 255)
rgb = 255;
Color c1=Color.FromArgb(rgb,rgb,rgb);
b2.SetPixel(i,j,c1);
用上面的程序分别对下面的图像进行处理,便可以清楚的体会图像的基本原理
颜色实验标准图像
文章评论(0条评论)
登录后参与讨论