1、1实验二 图像锐化及伪彩色处理有的图片为三维的(MATLAB 的 workspace 窗口可以看到) ,无法生成直方图,可以读入图像后用下面的命令转换为二维图像I=I(:,:,1) ;一、实验目的:1、掌握图像锐化、伪彩色处理的基本原理和基本方法,加深对其的感性认识,巩固所学理论知识。2、编写 MATLAB 程序,采用不同算子对图像进行锐化处理。3、编写 MATLAB 程序,实现对灰度图像的伪彩色处理。4、学会比较图像处理结果并分析原因。二、实验要求1.能够对单色图像进行伪彩色处理,能够分析彩色图像。2.能够自行评价各主要算子在无噪声条件下和噪声条件下的锐化性能。完成规定图像的处理并要求正确评
2、价处理结果,能够从理论上作出合理的解释。三、实验仪器PC 一台,MATLAB 软件 。四、实验内容(一 ) 试分别用 roberts、sobel 、Prewitt、log 四种算子编写 MATLAB 程序对 Miss.bmp 图像及添加高斯噪声的 Miss 图像进行锐化,提取边缘信息。要求:1. 显示原图像和对其锐化后的各个图像,并分别为之命名为:“原始图像” 、 “Robert 算子锐化结果” 、 “sobel 算子锐化结果” 、 “Prewitt 算子锐化结果” 、 “高斯拉普拉斯算子锐化结果”2. 显示添加噪声的图像及对其锐化后的各个图像,并分别为之命名为:“添加噪声后的图像” 、 “R
3、obert 算子锐化结果” 、 “sobel 算子锐化结果” 、 “Prewitt算子锐化结果” 、 “高斯拉普拉斯算子锐化结果”3.比较几种方法的锐化效果,并分析原因2 所用到的函数说明如下:1. 采用边缘算子分割图像函数为:g,t=edge(image,method,threshold,direction)image:输入的图像 method:采用的方法类型,有 roberts、sobel 、Prewitt、logthreshold:阈值,通常采用默认值,表示为 direction: 所寻找边缘的方向,常用 both ;g:返回的二值图像2.title(图像名字); %此函数可为图像命名3
4、.添加高斯噪声I=imnoise(image,gaussian,0.02); (1)I=imread(Miss.bmp);g1,t=edge(I,roberts,both);g2,t=edge(I,sobel,both);g3,t=edge(I,Prewitt,both);g4,t=edge(I,log,both);subplot(231);imshow(I);title(原始图像 );subplot(232);imshow(g1);title(reborts算子锐化结果);subplot(233);imshow(g2);title(sobel算子锐化结果);subplot(234);imsh
5、ow(g3);title(prewitt算子锐化结果);subplot(235);imshow(g4);title(log算子锐化结果 );像 像 像 像 reborts像 像 像 像 像 像 sobel像 像 像 像 像 像prewit像 像 像 像 像 像 log像 像 像 像 像 像3(2)I=imread(Miss.bmp);J=imnoise(I,gaussian,0.02);g5,t=edge(I,roberts,both);g6,t=edge(I,sobel,both);g7,t=edge(I,Prewitt,both);g8,t=edge(I,log,both);subplot
6、(231);imshow(J);title(添加高斯噪声图像 );subplot(232);imshow(g5);title(reborts算子锐化结果);subplot(233);imshow(g6);title(sobel算子锐化结果);subplot(234);imshow(g7);title(prewit算子锐化结果 );subplot(235);imshow(g8);title(log算子锐化结果);像 像 像 像 像 像 像 像 reborts像 像 像 像 像 像 sobel像 像 像 像 像 像prewit像 像 像 像 像 像 log像 像 像 像 像 像(二) 运行下列采用
7、 8 个灰度级密度分割的伪彩色变换程序,观察结果,并分别采用 2、16、32 个灰度级进行伪彩色处理,编程后运行,观察并比较结果。所用到的函数说明如下:G2C=grayslice(I,m); %该函数用多重(即 m1 个)等间隔阈值将灰度图像 I 转换为索引图像,即 m 色图像。4% 伪彩色变换密度分割I=imread(Miss.bmp);G2C=grayslice(I,8);figure;imshow(I);figure;subplot(222);imshow(G2C,cool(8); %采用冷色调显示figure;subplot(223);imshow(G2C,hot(8); %采用暖色调
8、显示像 像 像 像像 像 像 像 像 像 像5像 像 像 像 像 像 像(三) 根据下图(b) ,采用灰度级彩色变换的方法,编写 MATLAB 程序,实现 Miss.bmp 图像的灰度级彩色变换。注:1.将下列程序补充完整即可运行2.补充时应分情况对图像灰度赋值,赋值可用下列方法:如果 I (i,j)属于某范围 则 R(i,j)=A; G(i,j)=B; B(i,j)=C;% 伪彩色变换灰度级彩色变换 J=imread(Miss.bmp);I=double(J);M,N=size(I);L=256;for i=1:Mfor j=1:Nf (x, y)IR(x, y)IG(x, y)IB(x, y)RGB(a)IB(x, y) IG(x, y) IR(x, y)O f (x, y)4L243LL(b)L6.此为补充部分.endendfor i=1:Mfor j=1:NG2C(i,j,1)=R(i,j); G2C(i,j,2)=G(i,j);G2C(i,j,3)=B(i,j);endendG2C=G2C/256; figure;subplot(121);imshow(J);subplot(122);imshow(G2C);