1、D:matlab2011workp02-01.bmp); subplot(621) imshow(I) title(图像) subplot(622),imhist(I,256)图像直方图matlab2011workp02-02.tif subplot(623) subplot(624),imhist(I,256)matlab2011workp02-03.tif subplot(625) subplot(626),imhist(I,256)matlab2011workp02-04.tif subplot(6,2,7) subplot(6,2,8),imhist(I,256)matlab2011w
2、orkp02-05.bmp subplot(6,2,9) subplot(6,2,10),imhist(I,256)matlab2011workp02-06.tif subplot(6,2,11) subplot(6,2,12),imhist(I,256)所用函数:I=imread(path):函数imread用于读取图片文件中的数据,path为图像文件存放路径。figure(Name, ):打开一个命名为“图像显示类”图表显示图片。subplot(m,n,p):subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行
3、的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。本程序中为6行2列。imshow(I):imshow是matlab中显示图像的函数,I为图像中的信息。其调用方式有很多,比如imshow(BW);imshow(I,low high)等。imhist(I,256):n为灰度图像灰度级,I为灰度图像,缺省值为256。2.运行结果要求(1-4) 对灰度图象p02-04的灰度范围进行适当展宽J=imread(subplot(131)imshow(J,100,150);title(灰度范围100-150subplot(132)imshow(J,50,20
4、0);灰度范围50-200subplot(133)imshow(J,0,255);灰度范围0-255相关函数:imshow(J,50,200):J代表所显示图像的灰度矩阵 ,50,200为图像数据的值域。二 图象平滑要求(2-2) 对p02-02jy、p02-02gs进行3*3方形窗口的灰度最相近的K个邻点平均法滤波A=imread(图像显示subplot(3,2,1);imshow(A); %显示灰度图像原图象P01-01J1=imnoise(A,salt & pepper,0.02); %加均值为0,方差为0.02的椒盐噪声subplot(3,2,3);imshow(J1);椒盐噪声图象K
5、1=filter2(fspecial(average,3),J1)/255;subplot(3,2,4);imshow(K1);椒盐噪声平滑图象J2=imnoise(A,gaussian %加均值为0,方差为0.02的高斯噪声。subplot(3,2,5);高斯噪声图象K2=filter2(fspecial(subplot(3,2,6);imshow(K2);高斯噪声平滑图象对p02-02jy、p02-02gs进行3*3方形窗口的灰度最相近的K个邻点平均法滤波,滤波后椒盐噪声和高斯噪声均减少,但图像变得模糊。要求(2-4) 对p02-04jy、p02-04gs进行方形窗口的最大均匀性平滑滤波1
6、.算法设计为避免消除噪声时引起边缘模糊,最大均匀性平滑算法先找出环绕每像素的灰度最均匀 窗口,然后用该窗口的灰度均值代替该像素原来的灰度值。具体来说,对图像中任一像素(x,y)的5个有重叠的3*3邻域,用梯度衡量它们的灰度变换大小。把其中灰度变换最小的邻域作为最均匀的窗口,用其平均灰度代替像素(x,y)的灰度值。2.程序代码,0.01);%加椒盐噪声G1=imnoise(A,%加高斯噪声subplot(2,2,1); p02-04jysubplot(2,2,3);imshow(G1);p02-04gs%3*3最大均匀性平滑滤波%W,L=size(J1);J2=double(J1);G2=dou
7、ble(G1);G3=double(G1);J3=double(J1);Com=zeros(1,5);COM=double(Com);COM1=double(Com);%计算梯度%for i=3:L-2 for j=3:W-2 COM(1)=abs(J2(i-2,j-2)-J2(i,j)+abs(J2(i-2,j-1)-J2(i,j)+abs(J2(i-2,j)-J2(i,j)+abs(J2(i-1,j-2)-J2(i,j)+abs(J2(i-1,j-1)-J2(i,j)+abs(J2(i-1,j)-J2(i,j)+abs(J2(i,j-2)-J2(i,j)+abs(J2(i,j-1)-J2(
8、i,j); COM(2)=abs(J2(i+2,j-2)-J2(i,j)+abs(J2(i+2,j-1)-J2(i,j)+abs(J2(i+2,j)-J2(i,j)+abs(J2(i+1,j-2)-J2(i,j)+abs(J2(i+1,j-1)-J2(i,j)+abs(J2(i+1,j)-J2(i,j)+abs(J2(i,j-2)-J2(i,j)+abs(J2(i,j-1)-J2(i,j); COM(3)=abs(J2(i-2,j+2)-J2(i,j)+abs(J2(i-2,j+1)-J2(i,j)+abs(J2(i-2,j)-J2(i,j)+abs(J2(i-1,j+2)-J2(i,j)+a
9、bs(J2(i-1,j+1)-J2(i,j)+abs(J2(i-1,j)-J2(i,j)+abs(J2(i,j+2)-J2(i,j)+abs(J2(i,j+1)-J2(i,j); COM(4)=abs(J2(i+2,j+2)-J2(i,j)+abs(J2(i+2,j+1)-J2(i,j)+abs(J2(i+2,j)-J2(i,j)+abs(J2(i+1,j+2)-J2(i,j)+abs(J2(i+1,j+1)-J2(i,j)+abs(J2(i+1,j)-J2(i,j)+abs(J2(i,j+2)-J2(i,j)+abs(J2(i,j+1)-J2(i,j); COM(5)=abs(J2(i-1,
10、j-1)-J2(i,j)+abs(J2(i-1,j)-J2(i,j)+abs(J2(i-1,j+1)-J2(i,j)+abs(J2(i,j+1)-J2(i,j)+abs(J2(i,j-1)-J2(i,j)+abs(J2(i+1,j-1)-J2(i,j)+abs(J2(i+1,j)-J2(i,j)+abs(J2(i+1,j+1)-J2(i,j); COM1(1)=abs(G2(i-2,j-2)-G2(i,j)+abs(G2(i-2,j-1)-G2(i,j)+abs(G2(i-2,j)-G2(i,j)+abs(G2(i-1,j-2)-G2(i,j)+abs(G2(i-1,j-1)-G2(i,j)+
11、abs(G2(i-1,j)-G2(i,j)+abs(G2(i,j-2)-G2(i,j)+abs(G2(i,j-1)-G2(i,j); COM1(2)=abs(G2(i+2,j-2)-G2(i,j)+abs(G2(i+2,j-1)-G2(i,j)+abs(G2(i+2,j)-G2(i,j)+abs(G2(i+1,j-2)-G2(i,j)+abs(G2(i+1,j-1)-G2(i,j)+abs(G2(i+1,j)-G2(i,j)+abs(G2(i,j-2)-G2(i,j)+abs(G2(i,j-1)-G2(i,j); COM1(3)=abs(G2(i-2,j+2)-G2(i,j)+abs(G2(i
12、-2,j+1)-G2(i,j)+abs(G2(i-2,j)-G2(i,j)+abs(G2(i-1,j+2)-G2(i,j)+abs(G2(i-1,j+1)-G2(i,j)+abs(G2(i-1,j)-G2(i,j)+abs(G2(i,j+2)-G2(i,j)+abs(G2(i,j+1)-G2(i,j); COM1(4)=abs(G2(i+2,j+2)-G2(i,j)+abs(G2(i+2,j+1)-G2(i,j)+abs(G2(i+2,j)-G2(i,j)+abs(G2(i+1,j+2)-G2(i,j)+abs(G2(i+1,j+1)-G2(i,j)+abs(G2(i+1,j)-G2(i,j)
13、+abs(G2(i,j+2)-G2(i,j)+abs(G2(i,j+1)-G2(i,j); COM1(5)=abs(G2(i-1,j-1)-G2(i,j)+abs(G2(i-1,j)-G2(i,j)+abs(G2(i-1,j+1)-G2(i,j)+abs(G2(i,j+1)-G2(i,j)+abs(G2(i,j-1)-G2(i,j)+abs(G2(i+1,j-1)-G2(i,j)+abs(G2(i+1,j)-G2(i,j)+abs(G2(i+1,j+1)-G2(i,j);%找出梯度值最小的3*3邻域(灰度变换最小的邻域)% temp=min(COM); for k=1:5 if temp=(C
14、OM(k) t=k; end%计算该邻域平均灰度% if(k=1) J3(i,j)=J2(i-2,j-2)/9+J2(i-2,j-1)/9+J2(i-2,j)/9+J2(i-1,j-2)/9+J2(i-1,j-1)/9+J2(i-1,j)/9+J2(i,j-2)/9+J2(i,j-1)/9+J2(i,j-2)/9; if(k=2) J3(i,j)=J2(i+2,j-2)/9+J2(i+2,j-1)/9+J2(i+2,j)/9+J2(i+1,j-2)/9+J2(i+1,j-1)/9+J2(i+1,j)/9+J2(i,j-2)/9+J2(i,j-1)/9+J2(i,j-2)/9; if(k=3)
15、J3(i,j)=J2(i-2,j+2)/9+J2(i-2,j+1)/9+J2(i-2,j)/9+J2(i-1,j+2)/9+J2(i-1,j+1)/9+J2(i-1,j)/9+J2(i,j+2)/9+J2(i,j+1)/9+J2(i,j+2)/9; if(k=4) J3(i,j)=J2(i+2,j+2)/9+J2(i+2,j+1)/9+J2(i+2,j)/9+J2(i+1,j+2)/9+J2(i+1,j+1)/9+J2(i+1,j)/9+J2(i,j+2)/9+J2(i,j+1)/9+J2(i,j+2)/9; if(k=5) J3(i,j)=J2(i-1,j-1)/9+J2(i,j-1)/9+
16、J2(i+1,j-1)/9+J2(i-1,j)/9+J2(i,j)/9+J2(i+1,j)/9+J2(i-1,j+1)/9+J2(i,j+1)/9+J2(i+1,j+1)/9; temp=min(COM1); if temp=(COM1(k) t=k; G3(i,j)=G2(i-2,j-2)/9+G2(i-2,j-1)/9+G2(i-2,j)/9+G2(i-1,j-2)/9+G2(i-1,j-1)/9+G2(i-1,j)/9+G2(i,j-2)/9+G2(i,j-1)/9+G2(i,j-2)/9; G3(i,j)=G2(i+2,j-2)/9+G2(i+2,j-1)/9+G2(i+2,j)/9+
17、G2(i+1,j-2)/9+G2(i+1,j-1)/9+G2(i+1,j)/9+G2(i,j-2)/9+G2(i,j-1)/9+G2(i,j-2)/9; G3(i,j)=G2(i-2,j+2)/9+G2(i-2,j+1)/9+G2(i-2,j)/9+G2(i-1,j+2)/9+G2(i-1,j+1)/9+G2(i-1,j)/9+G2(i,j+2)/9+G2(i,j+1)/9+G2(i,j+2)/9; G3(i,j)=G2(i+2,j+2)/9+G2(i+2,j+1)/9+G2(i+2,j)/9+G2(i+1,j+2)/9+G2(i+1,j+1)/9+G2(i+1,j)/9+G2(i,j+2)/
18、9+G2(i,j+1)/9+G2(i,j+2)/9; G3(i,j)=G2(i-1,j-1)/9+G2(i,j-1)/9+G2(i+1,j-1)/9+G2(i-1,j)/9+G2(i,j)/9+G2(i+1,j)/9+G2(i-1,j+1)/9+G2(i,j+1)/9+G2(i+1,j+1)/9;end;subplot(2,2,2);imshow(uint8(J3);jy经3*3最大均匀滤波subplot(2,2,4);imshow(uint8(G3);gs经3*3最大均匀滤波3.运行结果三 图象锐化要求(3-4) 利用3*3的Krisch算子对p02-04实施图象锐化1971年,R.Kirs
19、ch提出了一种能检测边缘方向的Kirsch算子新方法:它使用了8个模板来确定梯度幅度值和梯度的方向。算法流程图读入图像,对边界点赋值,再利用krisch算子算出每个像素点梯度值,找出最大的梯度值并保存。算出梯度后,根据需要生成三种不同的增强图像。f = im2double(A); %类型转换原图象P02-04B=imkrisch( f , 0.7,0)imshow(B);锐化图象1 P02-04B=imkrisch( f ,0.7, 1)锐化图象2 P02-04B=imkrisch( f , 0.7,2)锐化图象3 P02-04function g = imkrisch( f , T, way
20、)%用imkrisch算子进行图像锐化%f 为输入图像%T 为比较的阈值%way 为算子的输出方式%way 0、1、2in = nargin;if in 3 error(Not enough input argumentendfs = size(f);m = fs(1,1);n = fs(1,2);if (m = 1) | (n T g(i,j) = g(i,j); else g(i,j) = 0; % g(i,j) = g(i,j);%else %使用4.3.8公式 大于T:g 小于T :fif way = 1 if g(i,j) g(i,j) = f(i,j);if way = 03.运行结果及分析(1)采用Krisch算子,采用三种不同的增强图像方法锐化图像1:使原图像各点(x,y)的灰度g(x,y)等于梯度,即:g(x,y) = grad(x,y)此法的缺点是增强的图像仅显示灰度变化比较陡的边缘轮廓,而灰度变化比较平缓或均匀的区域呈黑色。锐化图像2:T为阈值。适当选取T,可使边缘轮廓突出,又不会破坏原来灰度变化计较平缓的背景锐化图像3:T为阈值,适当选取T。背景用固定灰度级表示,便于观察边缘灰度变化。(2)采用Krisch算子,采用增强图像方法一,阈值分别设置为0.4、0.7、0.95
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1