C#彩色图像的伪色空间处理程序设计(13)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C#彩色图像的伪色空间处理程序设计(13)


图像的灰度化处理,一般有以下三种设计方案:
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)