for n=1:W
if (m<=row)&(n<=col)
extendx(m,n)=x(m,n);
else
extendx(m,n)=realmax;
end
end
end
axes(handles.axes2);
imshow(extendx,[0,255]);
msgbox('If the result is not satisfying,there maybe more than two peak values in the Histogram? ','Help','help');
handles.imdata=x;
guidata(hObject, handles);
5.6.2 图像边缘检测
在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同区域内部的特征或属性是不同的。边缘的检测正是利用物体和背景在某种图像特性上的差异来实现的,这种差异包括灰度、颜色或者纹理特征。边缘检测实际上就是检测图像特性发生变化的位置。本系统中边缘检测的运行结果如下图5.16所示:
图5.16 Robert算子实现边缘检测
Robert算子实现边缘检测的主要代码如下:
function Robert_Callback(hObject, eventdata, handles)
tic;
f=handles.imdata;
f1=double(f);
[row,col]=size(f);
f2=zeros([row,col]);
for x=2:(row-1);
for y=2:(col-1);
f2(x,y)=sqrt((abs(f1(x,y)-f1(x+1,y+1)))^2+(abs(f1(x+1,y)-f1(x,y+1)))^2);
end
end
Time=toc;
set(handles.edit1,'string',Time);
extendx=double(zeros(256));
if (row<=256)&(row<=256)
W=256;
else
W=max(row,col);
end
for m=1:W
for n=1:W
if (m<=row)&(n<=col)
extendx(m,n)=f2(m,n);
else
extendx(m,n)=realmax;
end
end
end
axes(handles.axes2),imshow(extendx,[min(min(2)),max(max(f2))]);
handles.imdata=f2;
guidata(hObject, handles);
图5.17 Laplacian算子实现边缘检测
Laplacian算子实现边缘检测主要代码如下:
- 上一篇:ASP.NET英语翻译课程教学网站设计
- 下一篇:基于ASP.NET的图书管理系统+流程图+ER图
-
-
-
-
-
-
-
java+mysql车辆管理系统的设计+源代码
大众媒体对公共政策制定的影响
中考体育项目与体育教学合理结合的研究
酸性水汽提装置总汽提塔设计+CAD图纸
杂拟谷盗体内共生菌沃尔...
十二层带中心支撑钢结构...
当代大学生慈善意识研究+文献综述
乳业同业并购式全产业链...
河岸冲刷和泥沙淤积的监测国内外研究现状
电站锅炉暖风器设计任务书