图像处理电子科大作业Word格式文档下载.docx

上传人:b****2 文档编号:3989350 上传时间:2023-05-02 格式:DOCX 页数:36 大小:1.75MB
下载 相关 举报
图像处理电子科大作业Word格式文档下载.docx_第1页
第1页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第2页
第2页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第3页
第3页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第4页
第4页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第5页
第5页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第6页
第6页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第7页
第7页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第8页
第8页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第9页
第9页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第10页
第10页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第11页
第11页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第12页
第12页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第13页
第13页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第14页
第14页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第15页
第15页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第16页
第16页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第17页
第17页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第18页
第18页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第19页
第19页 / 共36页
图像处理电子科大作业Word格式文档下载.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图像处理电子科大作业Word格式文档下载.docx

《图像处理电子科大作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图像处理电子科大作业Word格式文档下载.docx(36页珍藏版)》请在冰点文库上搜索。

图像处理电子科大作业Word格式文档下载.docx

forj=1:

width

NumPixel(I(i,j)+1)=NumPixel(I(i,j)+1)+1;

%对应灰度值像素点数量增加一

end

end

%计算灰度分布密度

ProbPixel=zeros(1,256);

256

ProbPixel(i)=NumPixel(i)/(height*width*1.0);

%计算累计直方图分布

CumuPixel=zeros(1,256);

ifi==1

CumuPixel(i)=ProbPixel(i);

else

CumuPixel(i)=CumuPixel(i-1)+ProbPixel(i);

%累计分布取整

CumuPixel=uint8(255.*CumuPixel+0.5);

%对灰度值进行映射(均衡化)

I(i,j)=CumuPixel(I(i,j));

subplot(223)

subplot(224)

截图:

2分别在2幅灰度图像中加入一定量的高斯噪声和椒盐噪声,噪声强

度自定。

然后采用3×

3的均值滤波器和3×

3中值滤波器分别对噪声图像

进行处理,给出两种处理方法的峰值信噪比(PSNR)。

functionz=PSNR(x,y)%calculatePSNRofimage

[M,N]=size(x);

dx=im2double(x);

dy=im2double(y);

err=dx-dy;

MSE=sum(sum(err.^2))/(M*N);

%meansquareerror

z=10*log10(255^2/MSE);

clc,clf,clearall;

pic=imread('

\image5.jpg'

data=rgb2gray(pic);

P1=imnoise(data,'

gaussian'

0.02);

P2=imnoise(data,'

salt&

pepper'

figure;

subplot(3,1,1);

imshow(data);

title('

原图'

subplot(3,1,2);

imshow(P1);

高斯加噪'

subplot(3,1,3);

imshow(P2);

椒盐加噪'

figure;

k1=medfilt2(data,[33]);

k2=medfilt2(P1,[33]);

k3=medfilt2(P2,[33]);

r1=PSNR(data,k1);

r2=PSNR(data,k2);

r3=PSNR(data,k3);

imshow(k1);

title(['

原图中值滤波'

'

psnr:

'

num2str(r1)]);

imshow(k2);

高斯加噪中值滤波'

num2str(r2)]);

imshow(k3);

椒盐加噪中值滤波'

num2str(r3)]);

d1=filter2(fspecial('

average'

3),data)/255;

d2=filter2(fspecial('

3),P1)/255;

d3=filter2(fspecial('

3),P2)/255;

r1=PSNR(data,d1);

r2=PSNR(data,d2);

r3=PSNR(data,d3);

imshow(d1);

原图均值滤波'

imshow(d2);

高斯加噪均值滤波'

imshow(d3);

椒盐加噪均值滤波'

clear;

clc;

Data=imread('

\Users\Administrator\Desktop\ex.JPG'

DataGray=rgb2gray(Data);

figure

(1),imshow(Data);

原始图像

%**************

计算并画出此图像的中心化频率谱

************* 

Data1=double(DataGray);

FFT2=fft2(Data1);

FFTcenter=fftshift(FFT2);

%

频谱中心化

FFT2abs=abs(FFT2);

FFTresult=256*log2(FFT2abs/max(max(FFT2abs))+1);

figure

(2),subplot(1,2,1);

imshow(FFTresult),title('

原图频谱

FFTc_abs=abs(FFTcenter);

FFTc_result=256*log2(FFTc_abs/max(max(FFTc_abs))+1);

subplot(1,2,2);

imshow(FFTc_result),title('

中心化频谱

%*******

分别用低通滤波和高通滤波对此图像进行频域处理

**** 

[m,n]=size(FFTcenter);

x_center=round(m/2);

y_center=round(n/2);

d=10;

半径取

10 

LF=FFTcenter;

HF=FFTcenter;

低通滤波器

fori=1:

m;

for 

j=1:

distance=sqrt((i-x_center)^2+(j-y_center)^2);

if 

distance<

=d 

flag=1;

else 

flag=0;

end 

LF(i,j)=flag*FFTcenter(i,j);

逆变换转换成对应图像

LF=uint8(real(ifft2(ifftshift(LF))));

figure(3),subplot(1,2,1);

imshow(LF);

低通滤波后图像

高通滤波器

distance>

HF(i,j)=flag*FFTcenter(i,j);

HF=uint8(real(ifft2(ifftshift(HF))));

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

高通滤波后图像

%*****************

用拉普拉斯算子对此图像锐化

Laplace=[0 

-1 

0;

-1;

];

LaplaceImage=conv2(Data1,Laplace,'

same'

figure(4),subplot(1,2,1);

imshow(uint8(LaplaceImage));

Laplace

图像

DataLap=imadd(Data1,immultiply(LaplaceImage,1));

原图像与拉普拉斯图像叠加

subplot(1,2,2),imshow(uint8(DataLap));

锐化增强后的图像

第二次作业

对一幅灰度图像:

(1)计算并画出此图像的中心化频率谱。

(2)分别用高斯低通和高斯高通滤波器对图像进行频域处理。

(3)用频域拉普拉斯算子对此图像进行锐化处理。

\Pdog.JPG'

原始图像'

%**************计算并画出此图像的中心化频率谱*************

%频谱中心化

原图频谱'

中心化频谱'

%*******分别用低通滤波和高通滤波对此图像进行频域处理****

%半径取

10

%**************低通滤波器*************

fori=1:

forj=1:

n

ifdistance<

=d

else

end

%逆变换转换成对应图像

低通滤波后图像'

%**************高通滤波器*************

ifdistance>

d

高通滤波后图像'

%*****************用拉普拉斯算子对此图像锐化*************

Laplace=[0-10;

-14-1;

0-10];

Laplace图像'

%原图像与拉普拉斯图像叠加

锐化增强后的图像'

第三次作业

课后MATLAB编程练习

对一幅灰度图像f(x,y):

(1)对f(x,y)加高斯白噪声和椒盐噪声;

(2)分别画出原图和加噪后的图像及其各自对应的直方图;

(3)用几何均值滤波分别对加高斯噪声和椒盐噪声图进行滤波处

理,并进行比较;

(4)用自适应中值滤波分别对加高斯噪声和椒盐噪声图进行滤波

处理;

并进行比较。

注:

滤波窗口可根据需要自行设定。

1.gmean函数(几何均值滤波):

functionf=gmean(g,m,n)

%Implementsageometricmeanfilter.

inclass=class(g);

g=im2double(g);

%Disablelog(0)warning

warningoff;

f=exp(imfilter(log(g),ones(m,n),'

replicate'

)).^(1/m/n);

warningon;

f=changeclass(inclass,f);

2.RAMF函数(自适应中值滤波函数):

functionf=RAMF(img)

[Im,In]=size(img);

nmin=3;

nmax=9;

Imf=img;

I_ex=[zeros((nmax-1)/2,In+(nmax-1));

zeros(Im,(nmax-1)/2),img,zeros(Im,(nmax-1)/2);

zeros((nmax-1)/2,In+(nmax-1))];

forx=1:

Im

fory=1:

In

forn=nmin:

2:

nmax

%图像Inoise中的某点(x,y)的领域Sxy,对应在I_ex中为(x+[(nmax-1)/2-(n-1)/2]:

x+[(nmax-1)/2-(n-1)/2]+(n-1),y+(nmax-1)/2-(n-1)/2:

y+[(nmax-1)/2-(n-1)/2]+(n-1))

Sxy=I_ex(x+(nmax-1)/2-(n-1)/2:

x+(nmax-1)/2+(n-1)/2,y+(nmax-1)/2-(n-1)/2:

y+(nmax-1)/2+(n-1)/2);

Smax=max(max(Sxy));

%求出窗口内像素的最大值

Smin=min(min(Sxy));

%求出窗口内像素的最小值

Smed=median(median(Sxy));

%求出窗口内像素的中值

%判断中值是否是噪声点

ifSmed>

Smin&

&

Smed<

Smax

%若中值既大于最小值又小于最大值,则不是

%是,则退出该if语句,增大窗口尺寸,再次判断

%不是,则判断该点的原值是不是噪声点

ifImf(x,y)<

=Smin||Imf(x,y)>

=Smax

%若该点的原值既大于最小值又小于最大值,则不是

%不是,则输出原值,即不作处理

%是,则输出中值

Imf(x,y)=Smed;

break

%有输出则不再进行循环判断

%当n=max时,输出中值

f=Imf

3.其他代码:

I=imread('

\lena.jpg'

subplot(2,3,1);

imshow(I),title('

subplot(2,3,4)

imhist(I),title('

原图直方图'

)%显示原始图像直方图

%椒盐噪声

J=imnoise(I,'

0.02);

subplot(2,3,2);

imshow(J),title('

椒盐噪声'

subplot(2,3,5)

imhist(J),title('

椒盐直方图'

)%显示椒盐图像直方图

%高斯噪声

G=imnoise(I,'

0.02,0.02);

subplot(2,3,3);

imshow(G);

高斯噪声'

subplot(2,3,6)

imhist(G),title('

高斯直方图'

)%显示高斯图像直方图

I_1=gmean(I,3,3);

subplot(3,1,1)

imshow(I_1);

原图几何滤波'

J_1=gmean(J,3,3);

subplot(3,1,2)

imshow(J_1);

椒盐几何滤波'

G_1=gmean(G,3,3);

subplot(3,1,3)

imshow(G_1);

高斯几何滤波'

I_2=RAMF(I);

imshow(I_2);

原图自适应中值滤波'

J_2=RAMF(J);

imshow(J_2);

椒盐自适应中值滤波'

G_2=RAMF(G);

imshow(G_2);

高斯自适应中值滤波'

第六章作业

(1)任意选择一幅RGB彩色图像,分别提取R、G、B分量,

并分别显示各分量的灰度图像。

(2)将上述图像转化为HSI模型,分别显示H、S、I分量的

灰度图像。

(3)任意读取一幅8bit红外灰度图像,对其进行伪彩色处

理,结果应突出感兴趣区域。

(1)

(2)代码:

\Mountain.jpg'

I=im2double(I);

r=I(:

:

1);

g=I(:

2);

b=I(:

3);

figure

(1);

subplot(221);

imshow(I);

subplot(222);

imshow(r);

红色分量图像'

subplot(223);

imshow(g);

绿色分量图像'

subplot(224);

imshow(b);

蓝色分量图像'

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

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

theta=acos(num./(den+eps));

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;

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

H(S==0)=0;

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

%Combineallthreeresultsintoanhsiimage.

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

imshow(hsi);

HSI图像'

imshow(H);

H分量图像'

imshow(S);

S分量图像'

im

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

当前位置:首页 > 总结汇报 > 学习总结

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

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