引言:Matlab图像处理中edge函数通常用于提取边缘或边缘检测。
如图所示:
原图:

边缘检测图:

im = edge(I)
返回包含1的二进制图像im,其中函数在输入图像I中找到边缘,而在其他位置为0。默认情况下,edge使用Sobel边缘检测方法。
其中:
- edge函数不能接收二进制图片,提前使用double强制把你的二进制图像答转换成double型的.
- im=double(BW1);
im = edge(I,method)使用方法指定的边缘检测算法检测图像I中的边缘
- im = edge(I,‘sobel’) 自动选择阈值用Sobel算子进行边缘检测。
im = edge(I,method,threshold)返回所有比阈值强的边缘。
im = edge(I,method,threshold,direction)指定要检测的边缘的方向。 Sobel和Prewitt方法可以检测垂直方向和/或水平方向上的边缘。罗伯茨方法可以检测到与水平线成45度角,与水平线成135度角或两者兼有的边缘。仅当方法为“ Sobel”,“ Prewitt”或“ Roberts”时,此语法才有效。
im = edge(___,‘nothinning’)跳过了边缘细化阶段,可以提高性能。仅当方法为“ Sobel”,“ Prewitt”或“ Roberts”时,此语法才有效。
im = edge(I,method,threshold,sigma)指定sigma

本文详细介绍了Matlab中edge函数的使用方法,包括不同边缘检测算法的参数设置,如Sobel、Prewitt、Roberts等,并解释了如何通过指定阈值和方向来优化边缘检测效果。
最低0.47元/天 解锁文章
2292

被折叠的 条评论
为什么被折叠?



