Color Image Processing

人眼只能区分出由黑到白的十多种到二十多种不同的灰度级,而人眼对彩色的分辨可以达到几百种甚至上千种。所谓伪彩色处理,就是将图像中的黑白灰度级变成不同的彩色,如果分层越多,人眼所能提取的信息也多,从而达到图像增强的效果。这是一种视觉效果明显,又不太复杂的图像增强技术。彩色的图片处理方式本质上和黑白图片一样,基本上就是先将RGB颜色空间投影到YUV颜色空间,此时每个通道都相当于黑白图像,然后对各个分量的亮度进行灰度图的直方图均衡化,再合成投影到RGB颜色空间即可。

一、实验技术论述

1.伪彩色处理
伪彩色图像处理(也称假彩色)时根据特定的准则对灰度值赋以彩色的处理。伪彩色或假彩色一词用于区分真彩色图像处理和为单色图像赋以彩色的处理。伪彩色的主要应用是为了人目视观察和解释一幅图像或序列图像中的灰度目标,人眼对灰度的识别很有限,但对色彩的辨别却很强。
伪彩色处理思路是将图像中感兴趣的灰度级区域用特定的颜色显示出来,如下图所示,将灰度图像分成RGB三个分量图,对各个分量的强度进行变换,使之合成的新图像显示特定的颜色。
这里写图片描述
单色图像的伪彩色编码框图

各灰度级对应的彩色分量强度见下图,根据该图便可以看出各个灰度级所对应的分量的灰度强度,以及灰度级所对应的颜色。经过这种映射处理后,原始黑白图像就变成了伪色彩图像。若原始图像f(x, y)的灰度分布遍被分为k个灰度段,则伪彩色图像就具有k种彩色。

这里写图片描述

2.彩色图像直方图处理
直方图均衡自动地确定一种变换,这种变换试图产生具有均匀灰度值的直方图。但彩色图像是由多个分量组成的,如果对各分量独立地进行直方图均衡化便有可能产生不正确的彩色,所以一般处理方法是均匀地扩展各分量的彩色强度,保持图像色调不变。
直方图处理中采用一定的变换方式使图像中较少的灰度级压缩,较多的灰度级拉伸。一般的变换表达式可以表示为:
这里写图片描述
经过这种强度变换后,虽然不能改变图像的色调和饱和度,但图像各分量中的像素点被均匀分布到整个灰度级上,增强了图像的彩色感官。

二、实验结果讨论

1.将图像中某个特地区域用特定颜色来显示,就是要把该区域的灰度值用特定颜色来显示。为此必须先得出该区域的灰度级范围,然后才能做变换。但是图像中可能也有其他区域有同样的灰度级,这就会带来错误的标识,所以要选取最佳的灰度范围来减少这样的区域。图1显示了处理后的结果,图中的河流有部分没有被标识出来,而其他区域有小部分却被标识出来。所以不同区域灰度值相同是此方法处理的缺陷。

2.彩色图像各分量的直方图及均匀化后的图像分别见图2、图3,可见图各分量的亮度都有所提升,对比度增加。图4是对彩色图像各分量分别做直方图均匀化后的结果图,相较于原图,变换后的图像明显变亮,各颜色的对比也更加清晰。

3.图5是采用统一的均衡化直方图对彩色图像各分进行变换后合成的图像,其变换关系见左图,同样可见图片变亮,各颜色区分度更高,较之于结论2中的结果更加接近原图,结论2中是对各个分量分别处理,这就导致RGB各分量的变换不是统一的,合成后便有可能产生与原图不一致的颜色,而本题中各分量采用的是相同的变换,便可以保证与原图的色度最为接近。

三、实验结果

这里写图片描述
图 1 将图中河流显示为黄色的伪彩色处理结果图

这里写图片描述

图 2 彩色图像RGB分量直方图及直方图均匀化后的直方图

这里写图片描述
图 3 RGB分量图像及直方图均衡化后的图片
这里写图片描述
图 4 原彩色图像及直方图均衡化后的彩色图像

这里写图片描述

图 5 RGB各分量使用统一的强度变换后得到的图像

附录:
程序一:

各分量采用统一的直方图变换可以先求出平均直方图的各个参量,再调用作业3(图像增强)中的直方图均衡化函数。


附录:
程序一:
function color_image_process
im=imread('Fig1.10(4).jpg');
im=imresize(im,[512 ,512]);
subplot(121);imshow(im);title('原图像');
gray1=0;  gray2=30;
im=ColorProcess(im,gray1,gray2);
subplot(122);imshow(im);title('伪彩色处理后的图像');

function im=ColorProcess(im,gray1,gray2)
[M,N]=size(im);
for i=1:M
    for j=1:N
        if(im(i,j)>=gray1)&(im(i,j)<gray2)
            R(i,j)=255;
            G(i,j)=255;
            B(i,j)=0;
        else
            R(i,j)=im(i,j);
            G(i,j)=im(i,j);
            B(i,j)=im(i,j);
        end
    end
end

for i=1:M
    for j=1:N
        im_c(i,j,1)=R(i,j);
        im_c(i,j,2)=G(i,j);
        im_c(i,j,3)=B(i,j);
    end
end
im=im_c;

程序二:
clear
clc
RGB=imread('Fig6.35(5).jpg');     
R=RGB(:,:,1);              
G=RGB(:,:,2);              
B=RGB(:,:,3);
r=histeq(R);                
g=histeq(G);  
b=histeq(B); 

subplot(321),imshow(R);title('彩色图像的红色分量');
subplot(322),imshow(r);title('红色分量均衡化后图像');
subplot(323),imshow(G);title('彩色图像的绿色分量');
subplot(324),imshow(g);title('绿色分量均衡化后图像');
subplot(325),imshow(B);title('彩色图像的蓝色分量');
subplot(326),imshow(b);title('蓝色分量均衡化后图像');

figure
subplot(321);imhist(R);title('红色分量直方图');
subplot(322), imhist(r);title('红色分量均衡化后图像直方图');
subplot(323), imhist(G);title('绿色分量直方图');
subplot(324), imhist(g);title('绿色分量均衡化后图像直方图');
subplot(325), imhist(B);title('蓝色分量直方图');
subplot(326), imhist(b);title('蓝色分量均衡化后图像直方图');

figure                           
subplot(121),imshow(RGB); title('原彩色图像');
newimg = cat(3,r,g,b);                
subplot(122),imshow(newimg,[]);title('直方图均衡化后图像');
%各分量采用统一的直方图变换可以先求出平均直方图的各个参量,再调用作业3(图像增强)中的直方图均衡化函数。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1) 二值图像: 一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。 2) 灰度图像: 灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数的(int8),这就是人们经常提到的256灰度图像。“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。在某些软件中,灰度图像也可以用双精度数据类型(double)表示,像素的值域为[0,1],0代表黑色,1代表白色,0到1之间的小数表示不同的灰度等级。二值图像可以看成是灰度图像的一个特例。 3) 索引图像: 索引图像的文件结构比较复杂,除了存放图像的二维矩阵外,还包括一个称之为颜色索引矩阵MAP的二维数组。MAP的大小由存放图像的矩阵元素值域决定,如矩阵元素值域为[0,255],则MAP矩阵的大小为256Ⅹ3,用MAP=[RGB]表示。MAP中每一行的三个元素分别指定该行对应颜色的红、绿、蓝单色值,MAP中每一行对应图像矩阵像素的一个灰度值,如某一像素的灰度值为64,则该像素就与MAP中的第64行建立了映射关系,该像素在屏幕上的实际颜色由第64行的[RGB]组合决定。也就是说,图像在屏幕上显示时,每一像素的颜色由存放在矩阵中该像素的灰度值作为索引通过检索颜色索引矩阵MAP得到。索引图像的数据类型一般为8位无符号整形(int8),相应索引矩阵MAP的大小为256Ⅹ3,因此一般索引图像只能同时显示256种颜色,但通过改变索引矩阵,颜色的类型可以调整。索引图像的数据类型也可采用双精度浮点型(double)。索引图像一般用于存放色彩要求比较简单的图像,如Windows中色彩构成比较简单的壁纸多采用索引图像存放,如果图像的色彩比较复杂,就要用到RGB真彩色图像。 4) RGB彩色图像: RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B三个分量来表示,M、N分别表示图像的行列数,三个M x N的二维矩阵分别表示各个像素的R、G、B三个颜色分量。RGB图像的数据类型一般为8位无符号整形,通常用于表示和存放真彩色图像,当然也可以存放灰度图像。 4.图像数字化 通过取样和量化过程将一个以自然形式存在的图像变换为适合计算机处理的数字形式。图像在计算机内部被表示为一个数字矩阵,矩阵中每一元素称为像素。图像数字化需要专门的设备,常见的有各种电子的和光学的扫描设备,还有机电扫描设备和手工操作的数字化仪。图像编码。 对图像信息编码,以满足传输和存储的要求。编码能压缩图像的信息量,但图像质量几乎不变。为此,可以采用模拟处理技术,在通过模-数转换得到编码,不过多数是采用数字编码技术。编码方法有对图像逐点进行加工的方法,也有对图像施加某种变换或基于区域、特征进行编码的方法。脉码调制、微分脉码调制、预测码和各种变换都是常用的编码技术。 5.图像压缩 由数字化得到的一幅图像的数据量十分巨大,一幅典型的数字图像通常由500×500或1000×1000个像素组成。如果是动态图像,是其数据量更大。因此图像压缩对于图像的存储和传输都十分必要。 有两类压缩算法,即不失真的方法和近似的方法。最常用的不失真压缩取空间或时间上相邻像素值的差,再进行编码。游程码就是这类压缩码的例子。近似压缩算法大都采用图像交换的途径,例如对图像进行快速傅里叶变换或离散的余弦变换。著名的、已作为图像压缩国际标准的JPEG和MPEG均属于近似压缩算法。前者用于静态图像,后者用于动态图像。它们已由芯片实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值