- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
光信数字图像处理图像的边缘检测
实验三 图像的边缘检测
一、实验目的
1.进一步理解边沿检测的基本原理。
2.掌握对图像边沿检测的基本方法。
3.学习利用Matlab图像工具箱对图像进行边沿检测。
二、实验原理
边缘检测在图像处理中可分为空域下的操作和频域下的操作。本实验以空域下的操作为主要实验内容,其他方法同学们可以在课后自行实验。空域下的图像边缘检测主要应用的是领域运算。
三、实验要求
对边缘检测的要求:使用Matlab图像处理工具箱中的不同方法对下图的边缘进行提取;注意观察不同操作对垂直方向、水平方向、斜方向的提取效果有何区别;注意观察提取后的边界是否连续,若不连续可采用什么方法使其连续。
四、实验步骤
1.打开计算机,启动MATLAB程序;
2.调入实验指导书所示的数字图像,利用MATLAB图像工具箱中已有函数进行编程以实现图像的边缘检测;
3.显示原图和处理过的图像。
4.记录和整理实验报告
五、实验仪器
1.计算机;
2.MATLAB程序;
3.记录用的笔、纸。
六、实验报告要求
1.对所使用的图像边沿检测方法的原理进行说明。
2.给出程序清单和注释。
3.对不同处理方法进行说明、比较。
********************自己的方法***********************
QQ = imread(Image1.bmp);
blood=rgb2gray(QQ);
[x,y]=size(blood); % 求出图象大小
b=double(blood);
N =sqrt(100) * randn(x,y); % 生成方差为10的白噪声
I=b+N; % 噪声干扰图象
for i=1:x % 实际图象的灰度为0~255
for j=1:y
if (I(i,j)255)
I(i,j)=255;
end
if (I(i,j)0)
I(i,j)=0;
end
end
end
z0=max(max(I)); % 求出图象中最大的灰度
z1=min(min(I)); % 最小的灰度
T=(z0+z1)/2;
TT=0;
S0=0; n0=0;
S1=0; n1=0;
allow=0.5; % 新旧阈值的允许接近程度
d=abs(T-TT);
count=0; % 记录几次循环
while(d=allow) % 迭代最佳阈值分割算法
count=count+1;
for i=1:x
for j=1:y
if (I(i,j)=T)
S0=S0+I(i,j);
n0=n0+1;
end
if (I(i,j)T)
S1=S1+I(i,j);
n1=n1+1;
end
end
end
T0=S0/n0;
T1=S1/n1;
TT=(T0+T1)/2;
d=abs(T-TT);
T=TT;
end
Seg=zeros(x,y);
for i=1:x
for j=1:y
if(I(i,j)=T)
Seg(i,j)=1; % 阈值分割的图象
end
end
end
SI=1-Seg; % 阈值分割后的图象求反,便于用腐蚀算法求边缘
se1=strel(square,3); % 定义腐蚀算法的结构
SI1=imerode(SI,se1); % 腐蚀算法
BW=SI-SI1; % 边缘检测
%=====传统的边缘检测方法======%
I=uint8(I);
BW1=edge(I,sob
文档评论(0)