北航数字图象处理实验报告文档格式.docx

上传人:b****5 文档编号:17575032 上传时间:2022-12-07 格式:DOCX 页数:15 大小:18.67KB
下载 相关 举报
北航数字图象处理实验报告文档格式.docx_第1页
第1页 / 共15页
北航数字图象处理实验报告文档格式.docx_第2页
第2页 / 共15页
北航数字图象处理实验报告文档格式.docx_第3页
第3页 / 共15页
北航数字图象处理实验报告文档格式.docx_第4页
第4页 / 共15页
北航数字图象处理实验报告文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

北航数字图象处理实验报告文档格式.docx

《北航数字图象处理实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《北航数字图象处理实验报告文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

北航数字图象处理实验报告文档格式.docx

end

Q=sort(G);

fori=1:

size(Q,2)

if(i<

size(Q,2)*&

&

i+1>

=size(Q,2)*

t=Q(i);

G(abs(G)<

t)=0;

forn=0:

form=1:

W(n+1,m)=G(n*size(P,2)+m);

f2=ifft2(W);

f3=uint8(f2);

axes;

imshow(f3)

imshow(J)

psnr1=psnr(J,f3);

set,'

string'

psnr1);

2.DCT的源程序及结果

P=dct2(J);

f2=idct2(W);

3.哈达玛变换的源程序及结果

'

J=rgb2gray(J);

P=hadamard(512)*(im2double(J))*hadamard(512);

f2=inv(hadamard(512))*W*inv(hadamard(512));

mm1=max(max(f2));

mn1=min(min(f2));

f2=255+255/(mm1-mn1)*(f2-mm1);

3

 

实验三图像复原实验

利用反向滤波和维纳滤波进行降质图像复原,比较不同参数选择对复原结果的影响。

(1)利用反向滤波方法进行图像复原;

(2)利用维纳滤波方法进行图像复原。

(1)输入图像采用实验1所获取的图像,对输入图像采用运动降质模型,如下式所示

与降值图像相关的参数是:

(2)对每一种方法通过计算复原出来的图像的峰值信噪比,进行最优参数的选择,包括反向滤波方法中进行复原的区域半径、维纳方法中的噪声对信号的频谱密度比值K;

(3)将降质图像和利用最优参数恢复后的图像同时显示出来,以便比较。

1.运动降质的源代码及结果

I=imread('

%I=rgb2gray(I);

F=fft2(I);

F=fftshift(F);

form=-((size(F,1)+1)/2):

(size(F,1)+1)/2

forn=-size(F,2)/2:

size(F,2)/2

H(m+((size(F,1)+1)/2)+1,n+size(F,2)/2+1)=5*sin(pi*(m+n))*exp(-sqrt(-1)*pi*(m+n))/(pi*(m+n));

form=1:

size(F,1)

forn=1:

size(F,2)

if(isnan(real(H(m,n))))

G(m,n)=F(m,n);

H(m,n)=1;

else

G(m,n)=F(m,n)*H(m,n);

g=ifft2(G);

t1=abs(g);

mm=max(max(t1));

mn=min(min(t1));

t1=255+255/(mm-mn)*(t1-mm);

t=uint8(t1);

imshow(t)

2.逆滤波的源代码及结果

H(m+((size(F,1)+1)/2)+1,n+size(F,2)/2+1)=5*sin(pi*(m+n))*exp(-sqrt(-1)*pi*(m+n))/(pi*(m+n));

if(m^2+n^2<

200000)

F1(m,n)=G(m,n)/H(m,n);

else

F1(m,n)=G(m,n);

f1=ifft2(F1);

f2=abs(f1);

mm=max(max(f2));

mn=min(min(f2));

f2=255+255/(mm-mn)*(f2-mm);

f2=uint8(f2);

psnr1=psnr(f2,I);

imshow(f2)

3.维纳滤波的源代码及结果

ff2(i,j)=G(i,j)/H(i,j)*(abs(H(i,j))^2)/(abs(H(i,j))^2+10^-38);

f3=ifft2(ff2);

f4=abs(f3);

mm1=max(max(f4));

mn1=min(min(f4));

f4=255+255/(mm1-mn1)*(f4-mm1);

f4=uint8(f4);

psnr2=psnr(f4,I);

psnr2);

imshow(f4)

实验四图像分割处理实验

(1)了解图像分割的基本原理,并利用图像分割算法进行图像分割处理;

(2)掌握数学形态学的基本运算。

(1)利用类间方差阈值算法实现图像的分割处理;

(2)利用形态学处理进行处理结果修正。

(1)实验用图如图所示;

图原始图像

(2)对输入图像进行平滑处理,以减小噪声对分割处理的影响;

(3)利用类间方差阈值算法对滤波处理后图像进行分割处理,获取分割图像;

(4)利用数学形态学中的腐蚀和膨胀运算处理,剔除分割处理结果中的一些细小的残余误分割点,在进行腐蚀和膨胀运算时可采用半径为r的圆形结构元素,注意比较选取不同r值时的处理结果。

实验源代码及结果

tu2=imread('

图像'

tu2=rgb2gray(tu2);

max2=0;

min2=255;

[m,n]=size(tu2);

axes;

imshow(tu2);

tu3=zeros(m,n);

%-----------平滑处理---------------

fork=2:

m-1

fors=2:

n-1

max4=max(tu2(k-1,s),tu2(k,s-1));

max5=max(tu2(k+1,s),tu2(k,s+1));

min4=min(tu2(k-1,s),tu2(k,s-1));

min5=min(tu2(k+1,s),tu2(k,s+1));

tu2(k,s)=(max(max4,max5)+min(min4,min5))/2;

imshow(tu2);

%-----------平滑处理中点滤波---------------

fork=1:

m

max1=max(tu2(k,:

));

if(max1==255)max2=max1;

break;

if(max2<

max1)max2=max1;

end%找出最大灰度值max2

n

min1=min(tu2(k,:

if(min1==0)min2=min1;

elseif(min2>

min1)min2=min1;

end%找出最小灰度值min2

max2=double(max2);

min2=double(min2);

%数据类型转换!

ni=zeros(1,max2-min2+1);

fors=1:

temp=double(tu2(k,s))-min2+1;

ni(1,temp)=ni(1,temp)+1;

end%统计各灰度值出现次数

%---------------------------找阈值----------------------

w0=0;

ut=0;

u0=0;

max3=0;

sum=m*n;

fort=0:

size(ni,2)-1

ut=ut+t*ni(t+1)/sum;

size(ni,2)-1

w0=w0+ni(t+1)/sum;

w1=1-w0;

u0=u0+t*ni(t+1)/sum;

u1=(ut-w0*u0)/w1;

temp=w0*w1*(u1-u0)*(u1-u0);

if(max3<

temp)

max3=temp;

tmax=t;

if(tu2(k,s)>

=tmax)

tu3(k,s)=255;

imshow(tu3);

%-----------------------类间方差阈值分割--------------

%-----------------------腐蚀和膨胀-------------------

se=strel('

disk'

2);

tu4=imerode(tu3,se);

imshow(tu4);

tu4=imdilate(tu4,se);

实验五用Hough变换进行曲线的参数提取

(1)了解边缘检测算子的原理,并利用边缘算子对图像进行检测;

(2)掌握Hough变换的基本原理。

(1)分别将原始图像及加高斯噪声、椒盐噪声后的图像中圆形边缘检测出来;

(2)用Hough变换对边缘进行参数提取。

(1)实验用图像文件:

原始图像()、加高斯噪声后图像()和加椒盐噪声后图像();

图原始图像

(2)在含有噪声的背景下,先对图像中值滤波,再进行边缘检测;

(3)将目标的边界提取出来。

边缘检测算子可利用matlab自带函数实现,使用Robert、Sobel和Laplacian算子;

(4)利用Hough变换提取的参数绘制曲线,并叠加在噪声图像上。

4.实验要点

(1)利用算子进行边缘检测:

可先将加噪以后的图像进行平滑滤波,如采用9*9的掩膜模板进行中值滤波;

为了对图像中图形边缘进行线性提取,可通过设置阈值将图像变为二值图像,再利用三种不同的算子(Robert、Sobel和Laplacian)来完成边缘的检测;

(2)Hough变换进行曲线参数提取:

在使用三种算子对加噪后图像进行边缘检测以后,使用Hough变换对检测后图像进行参数提取,并在提取成功以后,使用提取获得的参数进行图像的重建,最后将重建图像叠加到加噪图像中。

注意在进行Hough变换时,对比观察获得图像与使用算子进行边缘检测获得图像之间的区别。

5.实验结果

1.原图

利用Robert算子进行边缘检测

I=rgb2gray(I);

BW=edge(I,'

roberts'

imshow(BW)

利用Sobel算子进行边缘检测

sobel'

利用Laplacian算子进行边缘检测

log'

Hough变换

r_max=100;

r_min=40;

step_r=1;

step_angle=pi/20;

p=;

[m,n]=size(BW);

size_r=round((r_max-r_min)/step_r)+1;

size_angle=round(2*pi/step_angle);

hough_space=zeros(m,n,size_r);

[rows,cols]=find(BW);

ecount=size(rows);

%Hough变换

%将图像空间(x,y)对应到参数空间(a,b,r)

%a=x-r*cos(angle)

%b=y-r*sin(angle)

ecount

forr=1:

size_r

size_angle

a=round(rows(i)-(r_min+(r-1)*step_r)*cos(k*step_angle));

b=round(cols(i)-(r_min+(r-1)*step_r)*sin(k*step_angle));

if(a>

0&

a<

=m&

b>

b<

=n)

hough_space(a,b,r)=hough_space(a,b,r)+1;

%搜索超过阈值的聚集点

max_para=max(max(max(hough_space)));

index=find(hough_space>

=max_para*p);

length=size(index);

hough_circle=false(m,n);

length

par3=floor(index(k)/(m*n))+1;

par2=floor((index(k)-(par3-1)*(m*n))/m)+1;

par1=index(k)-(par3-1)*(m*n)-(par2-1)*m;

if((rows(i)-par1)^2+(cols(i)-par2)^2<

(r_min+(par3-1)*step_r)^2+5&

...

(rows(i)-par1)^2+(cols(i)-par2)^2>

(r_min+(par3-1)*step_r)^2-5)

hough_circle(rows(i),cols(i))=true;

%打印检测结果

fork=1:

par3=r_min+(par3-1)*step_r;

fprintf(1,'

Center%d%dradius%d\n'

par1,par2,par3);

para(:

k)=[par1,par2,par3];

imshow(I),holdon

viscircles([par2par1],par3);

2.加高斯噪声源代码及结果

I=imnoise(I,'

gaussian'

imshow(I)

imwrite(I,'

3.加椒盐噪声源代码及结果

salt&

pepper'

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

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1