数字图像滤波处理要点.docx

上传人:b****7 文档编号:15366239 上传时间:2023-07-03 格式:DOCX 页数:22 大小:982.39KB
下载 相关 举报
数字图像滤波处理要点.docx_第1页
第1页 / 共22页
数字图像滤波处理要点.docx_第2页
第2页 / 共22页
数字图像滤波处理要点.docx_第3页
第3页 / 共22页
数字图像滤波处理要点.docx_第4页
第4页 / 共22页
数字图像滤波处理要点.docx_第5页
第5页 / 共22页
数字图像滤波处理要点.docx_第6页
第6页 / 共22页
数字图像滤波处理要点.docx_第7页
第7页 / 共22页
数字图像滤波处理要点.docx_第8页
第8页 / 共22页
数字图像滤波处理要点.docx_第9页
第9页 / 共22页
数字图像滤波处理要点.docx_第10页
第10页 / 共22页
数字图像滤波处理要点.docx_第11页
第11页 / 共22页
数字图像滤波处理要点.docx_第12页
第12页 / 共22页
数字图像滤波处理要点.docx_第13页
第13页 / 共22页
数字图像滤波处理要点.docx_第14页
第14页 / 共22页
数字图像滤波处理要点.docx_第15页
第15页 / 共22页
数字图像滤波处理要点.docx_第16页
第16页 / 共22页
数字图像滤波处理要点.docx_第17页
第17页 / 共22页
数字图像滤波处理要点.docx_第18页
第18页 / 共22页
数字图像滤波处理要点.docx_第19页
第19页 / 共22页
数字图像滤波处理要点.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字图像滤波处理要点.docx

《数字图像滤波处理要点.docx》由会员分享,可在线阅读,更多相关《数字图像滤波处理要点.docx(22页珍藏版)》请在冰点文库上搜索。

数字图像滤波处理要点.docx

数字图像滤波处理要点

数字图像处理报告

学生姓名:

饶燎

学号:

20101004121

指导老师:

李杏梅

中国地质大学(武汉)机械与电子信息学院

2013年4月

 

报告代码及误代码解决方案

1题

f=imread('map.jpg');%读取rgb彩色图片

n=rgb2gray(f);%将彩图转换成灰度图

figure,imshow(n)%显示灰度图

结果

无错误

2题

f=imread('map.jpg');

figure,imshow(f),whitebg('white'),title('原图');%显示原图像

n=rgb2gray(f);%彩图到灰度图像变换

r=f;g=f;b=f;

figure

subplot(2,2,1),imshow(n),title('灰度图');

r(:

:

2)=0;r(:

:

3)=0;%将非r分量行填零

g(:

:

1)=0,g(:

:

3)=0;%将非g分量行填零

b(:

:

1)=0,b(:

:

2)=0;%将非b分量行填零

subplot(2,2,2),imshow(r,8),whitebg('white'),title('提取r分量');

subplot(2,2,3),imshow(g,8),title('提取g分量');

subplot(2,2,4),imshow(b,8),title('提取b分量');

[hsi]=rgb2hsi(f);%根据rgb与hsi的映射关系提取hsi分量

H=hsi(:

:

1);

S=hsi(:

:

2);

I=hsi(:

:

3);

figure

subplot311,imshow(H);

subplot312,imshow(S);

subplot313,imshow(I)

HSI函数

unction[hsi]=rgb2hsi(f)

%hsi=rgb2hsi(rgb)把一幅RGB图像转换为HSI图像,

%输入图像是一个彩色像素的M×N×3的数组,

%其中每一个彩色像素都在特定空间位置的彩色图像中对应红、绿、蓝三个分量。

%假如所有的RGB分量是均衡的,那么HSI转换就是未定义的。

%输入图像可能是double(取值范围是[0,1]),uint8或uint16。

%

%输出HSI图像是double,

%其中hsi(:

:

1)是色度分量,它的范围是除以2*pi后的[0,1];

%hsi(:

:

2)是饱和度分量,范围是[0,1];

%hsi(:

:

3)是亮度分量,范围是[0,1]。

%抽取图像分量

f=im2double(f);

r=f(:

:

1);

g=f(:

:

2);

b=f(:

:

3);

%执行转换方程

num=0.5*((r-g)+(r-b));

den=sqrt((r-g).^2+(r-b).*(g-b));

theta=acos(num./(den+eps));%防止除数为0

H=theta;

H(b>g)=2*pi-H(b>g);

H=H/(2*pi);

num=min(min(r,g),b);

den=r+g+b;

den(den==0)=eps;%防止除数为0

S=1-3.*num./den;

H(S==0)=0;

I=(r+g+b)/3;

%将3个分量联合成为一个HSI图像

hsi=cat(3,H,S,I);

部分正确代码

r=f;g=f;b=f;

figure

subplot(2,2,1),imshow(n),title('灰度图');

r(:

:

2)=0;r(:

:

3)=0;%将非r分量行填零

g(:

:

1)=0,g(:

:

3)=0;%将非g分量行填零

b(:

:

1)=0,b(:

:

2)=0;%将非b分量行填零

部分错误代码

r=f(:

:

1);

G=f(:

:

2);

B=f(:

:

3);

错误结果

显示的rgb分量图全是灰度图像,不是彩图分量图

错误分析

Rgb为三维图像,当直接提取地三维的每一个分量后就变成二维图片,成了灰度图

解决方法

将没有提取的另两个分量填零,图片仍然是三维的,显示结果与预想一致

3题

f=imread('map.jpg');

F=fft2(f);%傅里叶变换

figure

subplot121,imshow(f);

title('原图');

subplot122;

imshow(F);

title('傅里叶变换图像')

无错误

4题

f=imread('map.jpg');

m=rgb2gray(f);%彩图转换成灰度图

figure

subplot221,imshow(m),title('原图');

n=256-m;%灰度求反

k=imadjust(m,[0.40.7],[01]);%亮度调整

u=im2uint8(mat2gray(log(1+double(m))));%8位对数压缩

[p]=imadjust_sec(m,60,220);%灰度切分

subplot222,imshow(n);

title('求反图');

subplot223,imshow(k);

title('对比图');

subplot224,imshow(u);

title('对数压缩图');

figure,imshow(p),title('灰度切分图');

灰度切分函数

function[z]=imadjust_sec(x,a,b)

%UNTITLEDSummaryofthisfunctiongoeshere

%灰度切分

[hight,width]=size(x);

x1=im2double(x);

fori=1:

hight

forj=1:

width

ifx(i,j)>a&x(i,j)

x(i,j)=b;

end

z(i,j)=x(i,j);

end

End

错误代码

f=imread('map.jpg');

m=rgb2gray(f);%彩图转换成灰度图

n=256-m;%灰度求反

k=imadjust(m,[0.40.7],[01]);%亮度调整

u=im2uint8(mat2gray(log(1+double(m))));%8位对数压缩

[p]=imadjust_sec(m,60,220);%灰度切分

figure

subplot221,imshow(m),title('原图');

subplot222,imshow(n);

title('求反图');

错误结果

显示的原图与灰度切分图一模一样

错误分析

在执行imadjust_sec函数时有ifx(i,j)>a&x(i,j)

显然此时的原图像灰度值已被改变为与灰度切分后的灰度值一样,所以原图与灰度切分图一样

解决方法

将原图显示在灰度切分函数执行前,则显示的灰度图未被改变

5题

f=imread('map.jpg');

k=rgb2gray(f);%彩图转换成灰度图

figure,imhist(k);%绘制直方图

title('直方图');

g=histeq(k,256);%直方图均衡化

figure,imshow(g);

title('均衡化后的图像');

figure,imhist(g)

无错误

6题

f=imread('map.jpg');

k=rgb2gray(f);%彩图变灰度图

j=imnoise(k,'salt&pepper',0.2);%加入椒盐噪声

figure

subplot(2,2,1);imshow(j);

title('加入椒盐噪声的图像');

subplot222;imshow(k);

title('原图像');

%空域滤波

m=fspecial('average',4);%维度为4的均值滤波器算子

g=imfilter(k,m);%对图像进行均值滤波

subplot223;

imshow(g);

title('空域均值滤波后的图像');

%频域滤波

u=fspecial('disk',5);%维度为5的圆形算子

[M,N]=size(k);%原图像的尺度

F=fft2(k);%原图像的频谱

sig=10;

H=fft2(u,M,N);%滤波器的频谱

G=H.*F;%频域滤波

q=real(ifft2(G));%求出时域滤波图像

subplot224;

imshow(q,[]);

title('频率处理后的图像');

错误代码提示

H=fft2(u);

?

?

?

Errorusing==>times

Matrixdimensionsmustagree.

Errorin==>ltat21

G=H.*F;%频域滤波

错误原因

U的傅里叶变换H的维度与G不匹配

解决方法

H=fft2(u,M,N);

经过该变化后的H维度与G匹配且都为M*N形

7题

f=imread('map.jpg');

I=rgb2gray(f);%彩图转换成灰度图

I=im2double(I);%强制转换成双精度

[heightwidthR]=size(I);%原图像尺寸

%Dx=[-1-2-1

%000

%121];

%Dy=[-101

%-202

%-101];

%空域处理

fori=2:

height-1

forj=2:

width-1

Dx=[I(i+1,j-1)-I(i-1,j-1)]+2*[I(i+1,j)-I(i-1,j)]+[I(i+1,j+1)-I(i-1,j+1)];

Dy=[I(i-1,j+1)-I(i-1,j-1)]+2*[I(i,j+1)-I(i,j-1)]+[I(i+1,j+1)-I(i+1,j-1)];%sobel算子

S(i,j)=sqrt(Dx^2+Dy^2);%sobel算子锐化

end

end

figure,

subplot221,imshow(S),title('第一次锐化图');%sobel算子锐化处理图——效果不明显

T=S;

fori=1:

height-1

forj=1:

width-1

if(S(i,j)<0.4)

S(i,j)=1;

elseS(i,j)=0;

end

end

end

subplot222;

imshow(S,[]);

title('sobel算子锐化处理后图像');%sobel算子量化锐化——第二次锐化不明显

[m,n]=size(T);

AS(1:

m,1:

n)=I(1:

m,1:

n)+T(1:

m,1:

n);%与原图叠加保留部分低频

subplot223;

imshow(AS);title('叠加图');%

%频域锐化

h=fspecial('laplacian');%得到robert算子

H=fft2(h,height,width);%robert算子的傅里叶变化

G=fft2(I,height,width);

P=H.*G;%sobel频率滤波

g=real(ifft2(P));

[p,q]=size(g);

A(1:

p,1:

q)=I(1:

p,1:

q)+g(1:

p,1:

q)

subplot224,imshow(A),title('频域锐化叠加图');

错误分析

在代码里已经显示过,第一次空域滤波效果不明显,只保留了轮廓边缘(高频成分),对于细节部分(低频成分)则完全滤除,锐化过于剧烈

解决方法

将苏泊尔算子量化处理,保留少部分低频,但效果依然不明显,所以将原图与算子锐化后的图像叠加,基本保留原图像的低频成分,但高频部分则完全对比凸显了出来,效果较明显

8题

I=imread('map.jpg');

%按图像比例压缩

X1=imresize(I,1)

X2=imresize(I,0.5)

X3=imresize(I,0.25)

X4=imresize(I,0.1)

figure

subplot221,imshow(X1),title('原始图像')

subplot222,imshow(X2),title('缩小0.5倍')

subplot223,imshow(X3),title('缩小0.25倍')

subplot224,imshow(X4),title('缩小0.1倍')

%jpeg压缩

loadwoman;

figure

subplot(2,2,1);

image(X);

colormap(map);

title('原始图像');

axissquare;

[c,s]=wavedec2(X,2,'bior3.7');%小波二层分解

ca1=appcoef2(c,s,'bior3.7',1);%小波二维分解

ca2=detcoef2('h',c,s,1);%提取分解后的高频小波系数

ca3=detcoef2('v',c,s,1);

ca4=detcoef2('d',c,s,1);

a1=wrcoef2('a',c,s,'bior3.7',1);%重构低频小波分量

h1=wrcoef2('h',c,s,'bior3.7',1);

v1=wrcoef2('v',c,s,'bior3.7',1);

d1=wrcoef2('d',c,s,'bior3.7',1);

c1=[a1,h1;v1,d1];

subplot(2,2,2);

image(c1);

axissquare;

title('分解后低频和高频信息');

ca1=appcoef2(c,s,'bior3.7',1);

ca1=wcodemat(ca1,440,'mat',0);%对图像矩阵进行伪彩色编码

ca1=0.5*ca1;

subplot(2,2,3);

image(ca1);

colormap(map);%索引彩图

axissquare;

title('一次压缩');

disp('第一次压缩后的大小为');

whos('ca1')

ca2=appcoef2(c,s,'bior3.7',2);

ca2=wcodemat(ca2,440,'mat',0);

ca2=ca2*0.25;

subplot(2,2,4);

image(ca2);

colormap(map);

axissquare

title('二次压缩');

disp('第二次压缩后的大小为');

whos('ca2')

难点分析

小波压缩的部分代码较难理解,在进行二次压缩时的重构低频分量和分解原图像系数时进行了伪彩色编码,这使得高频小波系数绝大部分丢失,图像变得很平滑,甚至有失真现象

解决方法

选取的为彩色编码系数不能太大或太小,经综合分析及不断调试,选取系数在400~500之间效果较明显。

九题

f=imread('map.jpg');

a=rgb2gray(f);

b=imnoise(a,'salt&pepper',0.005);%加入椒盐噪声

c=edge(a,'sobel',0.12);%用诺伯特算子进行边缘检测

subplot311,imshow(a);title('原图');

subplot312,imshow(b);title('加噪声后的图');

subplot313,imshow(c);title('边缘检测图')

难点分析

用诺伯特算子进行边缘检测时,选取的边缘系数不能过大,否则会使抽样点数过少,导致图像失真。

但若系数选取过小,则会造成人物边缘部分与周围环境重合,提取不出特征点出来

解决方法

经反复调试,选取的边缘系数在0.01~0.04之间效果较明显

 

实验目的和意义

通过用matlab编写数字图像处理的一些基本算法程序,巩固课堂上学习的理论知识,掌握数字图像处理的基本技能,同时提高我们的编程能力,并通过实际编程来了解图像处理软件的实现的基本原理,为我们能够解决实际问题奠定基础。

前段时间,在数字图像处理的理论知识学习过程中,我对理论概念理解不透彻记忆不深刻,比如我甚至分不清高通滤波、低通滤波、中值滤波各是用来干什么的,通过自己编程实习,我知道了他们的作用和原理。

还有,这次我学习到了图片的不同存储格式。

总之,这次实验将我以前学习的零碎的编程知识融会贯通起来,使我的编程水平有了一定的提高。

虽然我大部分时间是在照着书敲代码,但后来,我能够在理解书上的代码意义的基础上对书上的错误进行改正并对书上的的代码进行改进创新。

 

参考文献

[1]孙兆林.MATLAB6.X图像处理[M].北京,清华大学出版社,2002:

175~230

[2]姚敏.数字图像处理[M].北京,机械工业出版社,2006:

1~87

[3]刘慧颖.MATLAB2006a基础教程[M].北京,清华大学出版社,2007

[4]王宏民,宋莹莹,付源.空域法进行图像增强处理在MATLAB中的仿真与分析[J],煤矿机械,2005,5:

56~58

[5]金钟,汪炳权.B超图像模糊增强处理[J].合肥工业大学学报(自然科学版社)2005,28(7):

768~771

[8]RafaelC.Gonzalez,RichardE.Woods,阮秋琦,阮宇智等译,数字图像处理(第二版),北京,电子工业出版社,2005

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2