数字图像处理——彩色图像实验报告
- 格式:docx
- 大小:8.60 MB
- 文档页数:21
6.3实验步骤
(1)对彩色图像的表达和显示
* * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * * rgbcube(0,0,10); %从正面观察彩色立方体
rgbcube(10,0,10); %从侧面观察彩色立方
rgbcube(10,10,10); %从对角线观察彩色立方体
%* * * * * * * * * *索引图像的显示和转换* * * * * * * * * * f=imread('D:\Picture\Fig0604(a)(iris).tif');
figure,imshow(f);%f是RGB真彩图像
%rgb图像转换成8色索引图像,不采用抖动方式
[X1,map1]=rgb2ind(f,8,'nodither');
figure,imshow(X1,map1);
%采用抖动方式转换到8色索引图像
[X2,map2]=rgb2ind(f,8,'dither');
figure,imshow(X2,map2); %显示效果要好一些
g=rgb2gray(f); %f转换为灰度图像
g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像
figure,imshow(g1);%显示抖动处理后的二值图像
程序运行结果:
彩色立方体原图
不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像
灰度图像抖动处理后的二值图像
(2)彩色空间转换
f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像
%转换到NTSC彩色空间
ntsc_image=rgb2ntsc(f);
figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息
%转换到HIS彩色空间
hsi_image=rgb2hsi(f);
figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2)); %显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息
程序运行结果:
原图
转换到NTSC彩色空间
显示亮度信息显示色差信息显示色差信息
转换到HIS彩色空间
显示色差信息显示饱和度信显示亮度信息
(3)彩色变换
f=imread('D:\Picture\Fig0614(a)(Chalk Original).tif'); G=ice('image',f); %打开ice窗口对图像进行调整
%在窗口中执行以下操作:
%a)得到图像的补色
%b)拖动映射曲线,对图像显示效果进行修改
%c)在颜色通道中选中某一颜色,然后对映射曲线进行修改程序运行结果(1):
全彩色图片ICE窗口
它的补色ICE窗口
拖动映射曲线,图像的显示效果ICE窗口
选择Red ICE窗口
f2=imread('D:\Picture\ JLK Magenta.tif');
figure,imshow(f2);
%在CMYK彩色空间内打开图像
g2=ice('image',f2,'space','CMYK');
%f2的图像色彩偏红,拖动映射曲线,
%调整映射参数,使图像的色彩看起来比较正常。
程序运行结果(2)
原图在CMYK彩色空间内打开图像
调整映射参数后ICE窗口
(4)彩色空间滤波
%* * * * * * * * * * * * * * * * * * * * 彩色图像平滑* * * * * * * * * * * * * * * * * * * * * * fc=imread('D:\Picture\Fig0604(a)(iris).tif');
figure,imshow(fc);
h=rgb2hsi(fc); %转换到HIS彩色空间
H=h(:,:,1); %色度分量
S=h(:,:,2); %饱和度分量
I=h(:,:,3); %亮度分量
w=fspecial('average',25); %25×25的方形平滑算子
I_filtered=imfilter(I,w,'replicate'); %对亮度分量进行平滑操作H1=cat(3,H,S,I_filtered); %将H、S、I三个分量重新组合起来f=hsi2rgb(H1); %转换到RGB彩色空间
f=min(f,1); %f的值控制在[0,1]之间
figure,imshow(f); %彩色图像平滑处理
%* * * **** * * * * * * * * * * * * 彩色图像锐化* * * * * * * * * * * * * * * * * * * * * * fb=imread(' D:\Picture\Fig0604(a)(iris).tif'); lapmask=[1 1 1;1 -8 1;1 1 1]; %拉普拉斯算子
g=imfilter(fb,lapmask,'replicate'); %拉普拉斯算子处理figure,imshow(g);
%图像锐化后与原图像相减
fen=imsubtract(fb,g);
figure,imshow(fen); %显示差值图像程序运行结果:
原图彩色图像平滑处理