C#与图像处理学习笔记(二)

本文介绍了彩色位图的基础知识,包括像素颜色如何由红(R)、绿(G)、蓝(B)三基色组合而成,以及如何通过分解和重组这些颜色来实现图像处理。文章提供了具体的编程示例,展示了如何进行单色处理、平均处理等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 http://blog.ednchina.com/cola123/206444/message.aspx

彩色图像处理基础知识:

 

彩色位图的像素颜色由三种基本颜色RGB有机组合而成,RGB称为三基色,每种基色可取0~255范围内的任意值,因此三种基色可组合成256*256*2561677万种颜色,每种颜色都有其对应的RGB值,常见的颜色机器对应的三原色值如表所示:

点击看大图 

彩色位图颜色的分解:

 

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);

 

1B单色处理:

首先加入两个PictureBox控件pictureBox1pictureBox2,并且在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;          

}

2G单色处理

处理方法和上面的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);

 

用上面的程序分别对下面的图像进行处理,便可以清楚的体会图像的基本原理

颜色实验标准图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值