C#彩色图像的伪色空间处理程序设计(5)
时间:2017-01-03 11:32 来源:毕业论文 作者:毕业论文 点击:次
灰度图像的产生,经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的。用于显示的灰度图像,通常用每个采样像素 8 bits的非线性尺度来保存,这样可以有 256 种灰度(8bits就是2^8 =256)。这种精度刚刚能够避免可见的条带失真,并且非常易于编程。 假彩色和真彩色图像 在介绍伪彩色之前,我们先了解一下与伪彩色相对应的假彩色和真彩色。 一般而言,由RGB形成的图像均称为真彩色图像。它的存储是由红、绿、蓝和Alpha四个字节控制的。但是,由于Alpha主要涉及透明度,所以,应用并不是很多,目前使用Alpha最多的,便是微软的透明窗体显示。 每一色光以8位元表示,每个通道各有256(28)种阶调,三色光交互增减,RGB三色光能在一个像素上最高显示24位1677万色(256*256*256=16777),这个数值就是电脑所能表示的最高色彩,而普遍认为人眼对色彩的分辨能力大致是一千万色。 假彩色,顾名思义,就是并不是一个物体本身的颜色。它普遍用于地理学和遥感应用上的,采用截止绿光技术、假彩色胶片摄影或经彩色合成后形成的颜色,它反映的并不是该物体的天然颜色。 伪彩色图像 具体来说,伪彩色图像就是,每个像素的颜色不是由每个基色分量的数值直接决定,而是把像素值当作彩色查找表(color look-up table,CLUT)的表项入口地址,去查找一个显示图像时使用的R,G,B强度值,用查找出的R,G,B强度值产生的彩色称为伪彩色。 彩色查找表CLUT是一个事先做好的表,表项入口地址也称为索引号。例如16种颜色的查找表,0号索引对应黑色,... ,15号索引对应白色。彩色图像本身的像素数值和彩色查找表的索引号之间有一个变换关系。使用查找得到的数值显示的彩色是真的,但不是图像本身真正的颜色,它没有完全反映原图的彩色。 伪彩色(pseudo c010r)增强是把黑白图像的各个不同灰度级按照线性或非线 性的映射函数变换成不向的彩色,得到一幅彩色图像的技术。目的是使原图像细 节更易辨认la标更容易识别。伪彩色图像的颜色也与原始景物的自然颜色无必 然一致的关系。伪彩色增强的方法主要有灰度分层法、灰度级——彩色变换和频率滤波法二种。灰度分居法是把灰度图像的灰度级从o(黑)到删(白)分成讨个区间I_i(i=1,2,…,N),给每个区间L,指定一种彩色C_i,这样,便可以把一幅灰度图像变成一幅伪彩色图像。 C#图像处理基础 C#特点 C#是由微软公司所开发的一种面向对象,且运行于.NET Framework之上的高级程序设计语言。C#看似基于C++写成,但又融入其他语言如:Delphi、 Java、VisualBasic等。 微软公司开发C#的初衷及C#的特点如下: C#旨在设计成为一种简单、现代、通用以及面向对象的程序设计语言。 C#语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组文数检查、未初始化的变量引用检测、自动垃圾收集(一种自动内存释放技术),软件必须做到强大、持久,并具有较强的编程能力。 C#语言应在分布式环境中的开发提供适用的组件开发应用。 为使人容易迁移到C#语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的人而言。 对国际化的支持非常重要。 最重要的一点,C#程序在存储和操作能力需求方面具有很好的经济性。而且,C#从使用复杂操作系统的大型系统到特定应用的小型系统均适用。 总之,C#学习起来要更容易,应用起来安全性更高。 (责任编辑:qin) |