打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Matlab图像处理之——边缘检测
userphoto

2023.05.30 江苏

关注

在工作和学习中,我们可能会遇到需要提取试验或仿真图像的边缘特征的情况,边缘检测作为一个预处理过程, 广泛应用于图像分割、模式识别和运动分析等领域,所以今天就来介绍一下Matlab的边缘检测算法。

Matlab主要使用"edge"函数进行边缘检测,其中包含了“sobel”、“canny”、“prewitt”、“roberts”、“log”等算法。

这里我们使用下图进行演示

边缘检测代码如下:

clcclearclose all%% 边缘检测I=imread('jisimulation.png');imshow(I)BW1 = edge(I,'sobel');BW2 = edge(I,'canny');BW3 = edge(I,'prewitt');BW4 = edge(I,'roberts');BW5 = edge(I,'log');BW6 = edge(I,'zerocross');%% 图像对比tiledlayout(2,3)nexttileimshow(BW1)title('Sobel Filter')nexttileimshow(BW2)title('Canny Filter')nexttileimshow(BW3)title('prewitt')nexttileimshow(BW4)title('roberts')nexttileimshow(BW5)title('log')nexttileimshow(BW6)title('zerocross')

我们运行代码可以得到如下结果:

其中:

sobel、prewitt算法对图像进行了平滑处理,对噪声具有一定抑制能力,但容易出现多像素宽度。

log算法的抗噪声能力较强,但会造成一些尖锐的边缘无法检测到。

Robert算法的边缘定位精度较高,对于陡峭边缘且噪声低的图像效果较好,但没有进行平滑处理,没有抑制噪声的能力。

canny算法采用高斯函数对图像进行平滑处理,但会造成将高频边缘平滑掉,造成边缘丢失,采用双阈值算法检测和连接边缘。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MATLAB GUI平台
(五)OpenCV-Python学习—边缘检测1
一文解读经典霍夫变换(Hough Transform)
OpenCV-Canny边缘检测
【从零学习OpenCV 4】Canny算法
边缘和轮廓检测——计算机视觉的应用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服