《实验四 彩色增强技术》由会员分享,可在线阅读,更多相关《实验四 彩色增强技术(6页珍藏版)》请在金锄头文库上搜索。
1、实验四 彩色增强技术一、实验目的:1、熟悉伪彩色增强原理和方法,掌握伪彩色增强技术及其应用。2、熟悉真彩色图像增强的方法和步骤,提高学生彩色图像处理能力。二、 实验原理伪彩色增强是把黑白图像的各个不同灰度级变换成不同的彩色。1、密度分割法密度分割或称强度分割法是伪彩色增强中最简单的一种,使用多分层技术。具体过程如下:做若干个平行于 xy 坐标的平面,那么每个平面与函数 f(x,y)相交,这样就把 f(x,y)表示的连续灰度分成若干级别,分层数可根据需要的精度加以任意设置。然后可以根据下面的关系分配颜色:f(x, y)=C k Ck 是与切割平面定义的第 k 个区间 Rk 相关的颜色。2、空间域
2、灰度彩色变换合成法这是一种更常用、更有效的伪彩色增强法。处理过程如图 1 所示。它是根据色度学原理,将原图像的灰度分段经过红、绿、蓝三种不同的变换,变成三基色分量,然后便可以合成一幅彩色图像。彩色的含量由变换函数的形状而定。典型的变换函数如图 2 所示,其中图(a) ( b) (c )分别为红、绿、蓝三种变换函数, (d)是把三种变换函数画在同一坐标系。由图可见,灰度为不同值时,通过变换将由三基色混合成不同的色调。红色变换绿色变换蓝色变换输入图像 彩色合成图 1 灰度彩色变换过程L/4=64 L/2=128 3L/4 L255红L/4 L/2 3L/4 LL绿L/4 L/2 3L/4 LL蓝L
3、/4 L/2 3L/4 LL(a) (b)(c) (d)图 2 典型的变换函数3、真彩色增强真彩色增强处理的对象不是一幅灰度图像,而是一幅自然彩色图像或是同一景物的多光谱图像,是从彩色到彩色的一种转换。彩色增强的目的:一个是变换图像的色彩,引起人们的特别关注;另一个是由于人眼对不同颜色的灵敏度不同,使景物呈现与人眼色觉相匹配的颜色,以提高人眼对目标的分辨率。选择合适的变换函数,映射出新的彩色空间。将 RGB 转换为模型,然后对其亮度、色度等信息增强,再返回模式。三、 实验内容1、MATLAB 中彩色图像的表示方法图像处理工具将彩色图像当作索引图像或 RGB 图像。(1) RGB 图像: MN3
4、 的数组,每个像素有红、绿、兰三个分量组成。若用 fR、fG、fB 分别代表三种分量图像,则 fR=rgb_image(:,:,1),fG=rgb_image(:,:,2), fB=rgb_image(:,:,3) ;例图像simulinkteam.jpg(2) 索引图像:两个分量,即数据矩阵 X 和彩色映射矩阵 map。map 大小m3 且范围在【0,1】之间的 double 类数组。m 为彩色数目,每一行定义红绿蓝三个分量。若 X 为 double 型,则 X 中 1第一行,2第二行若 X 为 uint8 或 uint16 类型,则 X 中 0第一行,1第二行X, map=imread(f
5、ilename )imshow(X ,map)四、 实验步骤1、读取灰度图像 cameraman.tif,将图像等密度分为 4 层,实现图像的伪彩色增强。clear allA=imread(D:Bridge.BMP);imshow(A)title(原图像);A=double(A);m,n=size(A); for i=1:m,for j=1:n,B(i,j)=floor(A(i,j)/64);endendC=uint8(B);map=0 1 10 1 00 0 11 0 1;figureimshow(C,map);title(处理后的图像);clear allA=imread(camerama
6、n.tif);imshow(A)title(源图像);A=double(A);m,n=size(A);for i=1:m,for j=1:n,B(i,j)=floor(A(i,j)/51);endendC=uint8(B);map=1 0 00 1 10 0 11 1 01 1 1figureimshow(C,map);title(处理后的图像);2、读取灰度图像 cameraman.tif,根据变换函数,利用灰度彩色变换合成法,实现伪彩色增强。clear allf=imread(cameraman.tif);f=double(f);m,n=size(f);g=zeros(m,n,3)for
7、i=1:m,for j=1:n,if f(i,j)=128g(i,j,1)=0;elseif f(i,j)=192g(i,j,1)=4*f(i,j)-512; elseg(i,j,1)=255;endendendfor i=1:m,for j=1:n,if f(i,j)=64g(i,j,2)=4*f(i,j);elseif f(i,j)=192g(i,j,2)=255;elseg(i,j,2)=-4*f(i,j)+1024;endendendfor i=1:m,for j=1:n,if f(i,j)=64fb=255;elseif f(i,j)=128g(i,j,3)=-4*f(i,j)+512;else g(i,j,3)=0;endendendg=uint8(g);figureimshow(g);思考题什么是伪彩色增强,什么是真彩色增强,两者区别?答:伪彩色增强是把黑白图像的各个不同灰度级变换成不同的彩色。真彩色增强处理的对象不是一幅灰度图像,而是一幅自然彩色图像或是同一景物的多光谱图像,是从彩色到彩色的一种转换。伪彩色增强是将原图像的灰度分段经过红、绿、蓝三种不同的变换,变成三基色分量,然后便可以合成一幅彩色图像。真彩色增强是选择合适的变换函数,映射出新的彩色空间。将 RGB 转换为模型,然后对其亮度、色度等信息增强,再返回模式。