C#彩色图像的伪色空间处理程序设计(13)
时间:2017-01-03 11:32 来源:毕业论文 作者:毕业论文 点击:次
图像的灰度化处理,一般有以下三种设计方案: 1、加权平均法 根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,对RGB三分量进行加权平均能得到较合理的灰度图像。 2、平均值法 求出每个像素点的R、G、B三个分量的平均值,然后将彩色图像中的这个平均值赋予给这个像素的三个分量。 3、最大值法 将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。 伪彩色处理 伪彩色处理概念 伪彩色处理是指将灰度图像转化为彩色图像。由于人眼对彩色的分辨能力远远高于对灰度的分辨能力,所以将灰度图像转化成彩色表示,就可以提高对图像细节的辨别力。因此伪彩色处理的主要目的是为了提高人眼对图像的细节分辨能力,以达到图像增强的目的。 伪彩色处理的基本方法 在空间域内,伪彩色处理的主要方法有:强度分层法和灰度级-彩色变换法。 强度分层法 强度分层法是伪彩色处理技术中最简单的一种。 设一幅灰度图像f(x,y),在某一个灰度级如f(x,y)=L上设置一个平行于x-y平面的切割平面,切割平面下满的,即灰度级小于L的像素分配给一种颜色,相应的切割平面上面的,即灰度级大于L的像素分配给另一种颜色。这样切割结果就可以将灰度图像变为只有两个颜色的伪彩色图像。若将灰度图像的灰度级用M个切割平面区切割,就会得到M个不同灰度级的区域。对这M个区域中的像素人为的分配给M个不同颜色,这样就可以得到具有M种颜色的伪彩色图像。这种方法虽然简单,但是视觉效果不理想,量化噪声也大。 (2)灰度级——彩色变换法 灰度级——彩色变换法可以将灰度图像变为具有多种颜色渐变的连续彩色图像。 它是将灰度图像送入具有不同变换特征的红、绿、蓝3个变化器,然后再将3个变换器的不同输出分别送到彩色显像管的红、绿、蓝枪,再合成某种颜色。同一灰度由于3个变换器对其实施不同变换,使3个变换器输出不同,从而不同大小灰度级可以合成不同的颜色。 彩色图像的伪色空间的图像处理 图像基本处理程序实现 图像的保存 这一功能的设计,主要是默认保存.bmp的文件。我在form上添加了SaveFileDialog工具,使得操作的时候十分的方便。同时还加入了基本判断,即当界面中没有图片,用户不小心点到保存按钮时,能够智能提醒用户,当前的图片信息为空。具体实现代码如下,图片如图4.1所示。 if (pictureBox1.Image == null) { MessageBox.Show("图片不能为空"); }else{ string str; Bitmap mybitmap = new Bitmap(pictureBox1.Image); Graphics g = this.CreateGraphics(); saveImageFile.Filter = "BMP文件 (*.bmp) | *.bmp"; saveImageFile.ShowDialog(); str = saveImageFile.FileName; pictureBox1.Image.Save(str); MessageBox.Show("图片保存成功"); } 图 4.1 保存功能图 图像的锐化处理 图像的锐化处理是为了突出图像中有关形体的边缘。一般来说,图像中形体的边缘附近图像像素点的颜色值都会发生显著变化。经过锐化处理后,形体边缘颜色值变化会更加明显;原来图像中颜色变化较为平缓的区域,锐化处理后则变化不大。是柔化的逆过程。 for (int x = 1; x < width-1; x++) { for (int y = 1; y < height-1; y++) { int r = 0, g = 0, b = 0; pixel1 = mybitmap.GetPixel(x, y); pixel2 = mybitmap.GetPixel(x-1, y-1); r = pixel1.R + Math.Abs(pixel1.R - pixel2.R) / 4; (责任编辑:qin) |