数字图像处理上机图像平滑锐化Word下载.docx

上传人:b****5 文档编号:20495807 上传时间:2023-01-23 格式:DOCX 页数:17 大小:1.19MB
下载 相关 举报
数字图像处理上机图像平滑锐化Word下载.docx_第1页
第1页 / 共17页
数字图像处理上机图像平滑锐化Word下载.docx_第2页
第2页 / 共17页
数字图像处理上机图像平滑锐化Word下载.docx_第3页
第3页 / 共17页
数字图像处理上机图像平滑锐化Word下载.docx_第4页
第4页 / 共17页
数字图像处理上机图像平滑锐化Word下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数字图像处理上机图像平滑锐化Word下载.docx

《数字图像处理上机图像平滑锐化Word下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理上机图像平滑锐化Word下载.docx(17页珍藏版)》请在冰豆网上搜索。

数字图像处理上机图像平滑锐化Word下载.docx

D:

\matlab2011\work\p02-01.bmp'

);

subplot(621)

imshow(I)

title('

图像'

subplot(622),imhist(I,256)

图像直方图'

\matlab2011\work\p02-02.tif'

subplot(623)

subplot(624),imhist(I,256)

\matlab2011\work\p02-03.tif'

subplot(625)

subplot(626),imhist(I,256)

\matlab2011\work\p02-04.tif'

subplot(6,2,7)

subplot(6,2,8),imhist(I,256)

\matlab2011\work\p02-05.bmp'

subplot(6,2,9)

subplot(6,2,10),imhist(I,256)

\matlab2011\work\p02-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个图是排成一行的,一共m行,如果m=2就是表示2行图。

p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。

本程序中为6行2列。

imshow(I):

imshow是matlab中显示图像的函数,I为图像中的信息。

其调用方式有很多,比如imshow(BW);

imshow(I,[lowhigh])等。

imhist(I,256):

n为灰度图像灰度级,I为灰度图像,缺省值为256。

2.运行结果

要求(1-4)对灰度图象p02-04的灰度范围进行适当展宽

J=imread('

subplot(131)

imshow(J,[100,150]);

title('

灰度范围100-150'

subplot(132)

imshow(J,[50,200]);

灰度范围50-200'

subplot(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-01'

J1=imnoise(A,'

salt&

pepper'

0.02);

%加均值为0,方差为0.02的椒盐噪声

subplot(3,2,3);

imshow(J1);

椒盐噪声图象'

K1=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.算法设计

为避免消除噪声时引起边缘模糊,最大均匀性平滑算法先找出环绕每像素的灰度最均匀窗口,然后用该窗口的灰度均值代替该像素原来的灰度值。

具体来说,对图像中任一像素(x,y)的5个有重叠的3*3邻域,用梯度衡量它们的灰度变换大小。

把其中灰度变换最小的邻域作为最均匀的窗口,用其平均灰度代替像素(x,y)的灰度值。

2.程序代码

0.01);

%加椒盐噪声

G1=imnoise(A,'

%加高斯噪声

subplot(2,2,1);

p02-04jy'

subplot(2,2,3);

imshow(G1);

p02-04gs'

%%%%%%%%%%%3*3最大均匀性平滑滤波%%%%%%%%%%%%

[W,L]=size(J1);

J2=double(J1);

G2=double(G1);

G3=double(G1);

J3=double(J1);

Com=zeros(1,5);

COM=double(Com);

COM1=double(Com);

%%%%%%%%%%%%%%%%计算梯度%%%%%%%%%%%%%%%

fori=3:

L-2

forj=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(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))+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(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,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))+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-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))+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);

fork=1:

5

iftemp==(COM(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)

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+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);

iftemp==(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+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)/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.Kirsch提出了一种能检测边缘方向的Kirsch算子新方法:

它使用了8个模板来确定梯度幅度值和梯度的方向。

算法流程图

读入图像,对边界点赋值,再利用krisch算子算出每个像素点梯度值,找出最大的梯度值并保存。

算出梯度后,根据需要生成三种不同的增强图像。

f=im2double(A);

%类型转换

原图象P02-04'

B=imkrisch(f,0.7,0)

imshow(B);

锐化图象1P02-04'

B=imkrisch(f,0.7,1)

锐化图象2P02-04'

B=imkrisch(f,0.7,2)

锐化图象3P02-04'

function[g]=imkrisch(f,T,way)

%用imkrisch算子进行图像锐化

%f为输入图像

%T为比较的阈值

%way为算子的输出方式

%way0、1、2

in=nargin;

ifin<

3

error('

Notenoughinputargument'

end

fs=size(f);

m=fs(1,1);

n=fs(1,2);

if(m<

=1)||(n<

=1)

g=f;

return;

%直接对整个图像赋值,简化算法

g=f;

fori=2:

m-1

forj=2:

n-1

m_krisch=[f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i,j-1),...

f(i,j+1),f(i+1,j-1),f(i+1,j),f(i+1,j+1)];

w_krisch=[5,5,5,-3,-3,-3,-3,-3;

...

-3,-3,5,-3,5,-3,-3,5;

-3,-3,-3,-3,-3,5,5,5;

5,-3,-3,5,-3,5,-3,-3];

con=abs(m_krisch*(w_krisch'

));

g(i,j)=max(con);

%判定输出的形式

%使用4.3.9公式大于T:

g小于T:

0黑

ifway==2

fori=1:

forj=1:

ifg(i,j)>

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:

f

ifway==1

ifg(i,j)<

g(i,j)=f(i,j);

ifway==0

3.运行结果及分析

(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