6实验指导书-专业课程设计I-信工 - 图文(7)

2019-08-03 10:13

d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 if d<=d0 %点(i,j)在通带内的情况 H(i,j)=1; %通带变换函数

else %点(i,j)在阻带内的情况 H(i,j)=0; %阻带变换函数 end end end

%3 进行点乘 G=F.*H;

G=ifftshift(G); %对G进行反FFT移动

%对G进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数 g=uint8(real(ifft2(G)));

subplot(1,3,3),imshow(g); %显示ILPF滤波后的图像 title('ILPF滤波(d0=50)')

图1 实验结果

2、巴特低通滤波实验。

n 在Matlab中,参考上述M文件,自己建立M文件Lab5_Test2.m,实现巴特沃斯低通滤波; n 实验结果分析:

(1)对于理想的低通滤波器,当截止频率D0较低的时候,图像严重模糊,被滤去的高频部分的能量包含了图像的主要的边缘信息,同时振铃效应也非常的明显。随着截止频率的增加,模糊地程度减少,这是因为保留的边缘信息增加了。

(2)巴特沃思滤波器和高斯滤波器滤去的频率和通过的频率之间没有明显的不连续性,图像的模糊程度降低,而且也没有振铃效应,这是由于在低频和高频之间,滤波器平滑过渡的缘故。

3、理想高通滤波实验。

n 在Matlab中,建立M文件Lab5_Test3.m,编写如下代码,实现理想高通滤波图像锐化。代码如下: function Lab5_Test3_IHPF() %功能:理想高通滤波 clc;close all;clear all; I1=imread('lena.jpg');

I1=rgb2gray(I1); %转化为灰度图像 figure, subplot(1,3,1),imshow(I1),title('原图') %1 对图像进行FFT变换 F=fftshift(fft2(I1));

subplot(1,3,2),imshow(log(abs(F)),[]); title('FT取对数所得频谱');

28

%2 生成滤波函数H

[M,N]=size(F); %分别返回s的行数到M中,列数到N中 u0=round(M/2); %对M/2进行取整 v0=round(N/2); %对N/2进行取整 %IHPF滤波,d0=5,20,50 (程序中以d0=5为例) D0=10; %截止频率D0 n=2; for i=1:M for j=1:N

d=sqrt((i-u0)^2+(j-v0)^2); %点(i,j)到傅立叶变换中心的距离 if d<=D0 %点(i,j)在通带内的情况 H(i,j)=0; %通带变换函数

else %点(i,j)在阻带内的情况 H(i,j)=1; %阻带变换函数 end end end

%3 进行点乘 G=F.*H;

G=ifftshift(G); %对G进行反FFT移动

%对G进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数 g=uint8(real(ifft2(G)));

subplot(1,3,3),imshow(g); %显示ILPF滤波后的图像 title('理想高通滤波(d0=20)')

图2 实验结果

五、实验内容及要求

1、在MATLAB中,严格完成上述实验内容,且分析比较实验结果; 2.参照上述程序,自己编程实现:

1)编写一个函数,实现巴特沃斯低通功能; 2)编写一个函数,实现巴特沃斯高通功能;

3)编写一个函数,利用陷波滤波器,实现图像周期噪声消噪功能; 4)编写一个函数,利用同态滤波器,实现图像光照校正功能;

3.在VS2010+OpenCV环境中,自己编写程序,尝试实现“高通”与“低通”滤波功能。

29

实验六:图像边缘检测实验

一、实验目的

1、掌握图像边缘检测原理; 2、理解常用的边缘检测算子及编程; 3、理解Canny边缘检测原理及Matlab编程;

4、掌握VS2010环境中基于Opencv的边缘检测编程方法; 二、实验设备:

1、PC机或笔记本电脑,Windows操作系统; 2、安装Matlab软件,准备实验相关图像或M文件;

3、按照如下实验内容与步骤,编写相应Matlab与C++程序,完成实验任务。 三、实验原理

1、Roberts算子

边缘,是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。

边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,?f指出灰度变化最快的方向和变化量。 ?f=(梯度大小由

?f?f

,) ?x?y

??f???f?

?f=?÷+???y÷÷ ?xè?è?

确定。而梯度方向则由

2

2

??f?

??y÷q=?÷

?f?÷?xè?

确定。

因此最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子:

?f=(f(x,y)-f(x-1,y),f(x,y)-f(x,y-1))

因此当我们寻找边缘的时候,最简单的方法是对每一个像素计算出梯度向量,然后求出它的绝对值。利用这种思想就得到了Roberts算子:

g(x,y)={[f(x,y)-f(x+1,y+1)]2+[f(x,y+1)-f(x+1,y)]2}

2、Prewitt算子

Roberts算子是直观的也是简单的,但是对噪声多的情况显然效果不好。实践中人们做了大量的实践,总结出了一些经验,后来Prewitt提出了一个算子,这就是Prewitt算子。 Prewitt边缘检测算子使用两个有向算子(一个水平的,一个是垂直的,一般称为模板),每一个逼近一个偏导数:

30

12

?-1-1-1??10-1??÷?÷pv=?000÷ ph=?10-1÷

?1?10-1÷11÷è?è?

如果我们用Prewitt算子检测图像 M 的边缘的话,我们可以先分别用水平算子和垂直算子对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的 M1,M2,他们分别表示图像M中相同位置处的两个偏导数。然后把M1,M2 对应位置的两个数平方后相加得到一个新的矩阵G,G表示M中各个像素的灰度的梯度值(一个逼近)。然后就可以通过阀值处理得到边缘图像。

3、Sobel算子

Sobel算子也是一种梯度幅值,该算子包含两组3*3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及G分别代表经横向及纵向边缘检测的图像,其模板的卷积因子如下:

y

?-10+1??÷-20+2÷

??-10+1÷

è??-1-2-1?

?÷000?÷?+1+2+1÷ è?

G

四、练习内容

x

G

y

其他算子原理与边缘检测方法详见教学PPT。

启动电脑,打开MATLAB编程编程环境,依次完成下列所有实验: 1、调用Matlab函数的边缘检测实验。

在Matlab中,建立M文件Lab6_Test1.m,编写如下代码,实现Roberts,Sobel和Prewitt算子检测边缘。

f=imread('lena.bmp'); subplot(2,2,1); imshow(f); title('原图像');

[g,t]=edge(f,'roberts',[],'both'); subplot(2,2,2); imshow(g);

title('Roberts算子分割结果'); [g,t]=edge(f,'sobel',[],'both'); subplot(2,2,3); imshow(g);

title('Sobel算子分割结果'); [g,t]=edge(f,'prewitt',[],'both'); subplot(2,2,4); imshow(g);

title('Prewitt算子分割结果');

2、LOG算子检测边缘

在Matlab中,建立M文件Lab6_Test2.m,编写如下代码,采用LOG算子检测边缘。 f=imread('lena.bmp'); subplot(1,2,1); imshow(f); title('原图像'); [g,t]=edge(f,'log'); subplot(1,2,2); imshow(g);

title('LOG算子分割结果');

31

3、Canny边缘检测

在Matlab中,建立M文件Lab6_Test3.m,编写如下代码,采用Canny算子检测边缘 f=imread('lena.bmp'); subplot(1,2,1); imshow(f); title('原图像');

[g,t]=edge(f,'canny'); subplot(1,2,2); imshow(g);

title('Canny算子分割结果'); 五、实验内容及要求

1、在MATLAB中,严格完成上述实验内容,且分析比较实验结果; 2.参照上述程序,在Matlab中自己编程实现:

1)编写一个函数,实现Sobel边缘检测功能;

2)查阅Canny边缘检测原理与编程步骤,编写一个函数,实现Canny边缘检测功能(可参考http://blog.csdn.net/xiajun07061225/article/details/6926108);

3、查阅相在资料,在VS2010环境,用OpenCV实现图像的边缘检测,且分析与比较实验结果。

32


6实验指导书-专业课程设计I-信工 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-02-23 合作共赢 - 共谋发展 - 福林气体双方高层会面 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: