1 / 6
文档名称:

matlab边缘检测.doc

格式:doc   大小:279KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

matlab边缘检测.doc

上传人:1136365664 2017/11/30 文件大小:279 KB

下载得到文件列表

matlab边缘检测.doc

相关文档

文档介绍

文档介绍:数字信号处理实验报告
实验二图像的边缘检测
姓名:张成辉
学号:2011704009
专业:仪器仪表工程
实验三图像的边缘检测
一、实验目的



二、实验原理
图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。
三、实验要求
对边缘检测的要求:使用Matlab图像处理工具箱中的方法对图片的边缘进行提取;注意观察不同操作对垂直方向、水平方向、斜方向的提取效果有何区别;注意观察提取后的边界是否连续,若不连续可采用什么方法使其连续。
四、实验步骤
;
;



因为我选取图像的时候觉得人物的轮廓边缘比较清晰,所以我选择简单的人物图像,原图如下:
在图像的傅立叶变换的实验中,我看到了图像经过调用Matlab中的FFT函数经过处理之后,我们看到了图像的频谱,也就是图像梯度的分布图,我们还可以看出图像中央是直流低频成分,四角是高频成分。此实验是在此基础上进行图像的边缘检测,并对常用的边缘检测算子:梯度运算sobel算子和canny进行对比实验。
canny算子
Matlab程序:
a = imread('c:/');
a=rgb2gray(a); % 选取的是jpg格式的图片,试用要进行灰度处理
imshow(a);
title('灰度图');
ffta = fft2(a); % 获取2维离散傅里叶变化后的图像,保存到fftI
sffta = fftshift(ffta); % 将傅里叶变化的中心移到图像中心,保存到sfftI
RR = real(sffta); % 取实部
II = imag(sffta); % 取虚部
A = sqrt(RR.^2 + II.^2); % 计算频谱幅值
A = (A - min(min(A)))/(max(max(A)) - min(min(A)))*225; % 灰度拉升,将变换后的图像拉升到0~255区间
b=edge(a,'canny',[,]); %灰度图的边缘提取
c=edge(a,'canny',[,]);
d=edge(a,'canny',[,],2);
figure;
subplot(1,3,1),
imshow(b), axis on;title('canny 阈值=');
subplot(1,3,2),
imshow(c), axis on;title('canny 阈值=');
subplot(1,3,3),
imshow(d),axis on;title('默认');
figure;