【Matlab 图像】边缘检测算法及效果演示

  • 边缘检测
    • 检测图像中的边缘
      • Matlab 代码
      • 代码效果如下
  • 边缘算法:robert
  • 边缘算法:sobel prewitt
  • 边缘算法:laplacian
  • 边缘算法:log
  • 边缘算法:canny
  • 效果对比

边缘检测

在图像中,边缘是一条曲线,其走势与图像中强度快速变化的路径一致。边缘通常与场景中目标的边界相关联。边缘检测用于确定图像中的边缘。

要寻找边缘,您可以使用 edge 函数。此函数使用以下两个标准之一来寻找图像中强度迅速变化的位置:

  • 强度的一阶导数的模大于某个阈值的位置
  • 强度的二阶导数有过零点的位置

edge 提供几个导数估算器,其中每个都实现以下定义之一。对于其中一些估算器,您可以指定运算是否应对水平边缘、垂直边缘敏感或对两者都敏感。edge 返回二值图像,其中包含的 1 对应于找到边的位置,0 对应于其他位置。

edge 提供的最强大的边缘检测方法是 Canny 方法。Canny 方法与其他边缘检测方法的不同之处在于,它使用两种不同阈值(用于检测强边缘和弱边缘),并且仅当弱边缘连通到强边缘时才在输出中包括弱边缘。因此,这种方法不太可能受到噪声的影响,更可能检测到真正的弱边缘。

检测图像中的边缘

此示例说明如何同时使用 Canny 边缘检测器和 Sobel 边缘检测器来检测图像中的边缘。

读取图像并显示它。

Matlab 代码

I = imread('coins.png');
imshow(I);
% 将 Sobel 和 Canny 边缘检测器同时应用于图像,并显示它们以进行比较。
BW1 = edge(I,'sobel');
BW2 = edge(I,'canny');
figure;
imshowpair(BW1,BW2,'montage')
title('Sobel Filter                                   Canny Filter');

代码效果如下

From: 边缘检测

边缘算法:robert

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

BW1=edge(Img,'Roberts',0.16);

边缘算法:sobel prewitt

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

BW2=edge(Img,'Sobel',0.16);
BW3=edge(Img,'Prewitt',0.16);

边缘算法:laplacian

对噪声较为敏感,使噪声能力成分得到加强,容易丢失部分边缘方向信息,造成一些不连续的检测边缘,同时抗噪声能力较差。

边缘算法:log

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

BW5=edge(Img,'LOG',0.16);

边缘算法:canny

最优化思想的边缘检测算子,同时采用高斯函数对图像进行平滑处理,但会造成将高频边缘平滑掉,造成边缘丢失,采用双阈值算法检测和连接边缘。

BW6=edge(Img,'Canny',0.16);

效果对比


From: 【matlab 图像处理】五种边缘检测算法比较

还有一篇更加偏向于原理讲解的文章:图像边缘检测及提取方法总结(含Matlab代码)

数字图像处理:边缘检测(Edge detection)

边缘检测matlab算法汇总

【Matlab 图像】边缘检测算法及效果演示相关推荐

  1. 基于matlab的数字图像边缘检测算法研究,基于MATLAB数字图像边缘检测算法的研究与对比分析...

    ·161· 居 舍 研究探讨 2017年10月(中) 1 绪论 图像边缘中通常包含着重要的边界信息,这些边界信息便于分析和研究图像.另外,边缘检测可以大大降低图像处 理的工作量,将提高图像分析的效率. ...

  2. matlab 图像白平衡算法,Matlab常用白平衡算法

    <Matlab常用白平衡算法>由会员分享,可在线阅读,更多相关<Matlab常用白平衡算法(21页珍藏版)>请在人人文库网上搜索. 1.1 灰色世界法灰色世界法(grey wo ...

  3. 主流图像边缘检测算法

    前言:最近在学习关于图像边缘检测技术,更新此博文仅为 了记录个人学习过程,也供有共同志趣的朋友参考! 本文内容包括:图像噪声添加与去除.几种滤波算法[高斯滤波,方框滤波,均值滤波,中值滤波,双边滤波, ...

  4. 图片缩放 算法 matlab,图像放大算法总结及MATLAB源程序.doc

    图像放大算法总结及MATLAB源程序 1,插值算法(3种): (1)最邻近插值(近邻取样法): 最近插值的的思想很简单就是把这个非整数坐标作一个四舍五入,取最近的整数点坐标处的点的颜色.可见,最邻近插 ...

  5. Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子

    确定图像中的物体边界的一种方法是先检测每个像素和其直接淋雨的状态已决定该像素是否确实处于一个物体的边界上.具有这种特性的像素被标记为边缘点.当图像中各个像素的灰度级用来反映各像素要求的程度时,这种图像 ...

  6. 改进的图像边缘检测算法的FPGA实现与仿真---matlab篇

    八个方向matlab 的sobel: clear all; close all; clc; %八个方向的sobel算子 s0=[-1,-2,-1;0,0,0;1,

  7. matlab图像边缘检测分析

    更多MATLAB图像处理视频请点击  http://study.163.com/course/courseMain.htm?courseId=1003594013 所谓边缘是指其周围像素灰度有变化的那 ...

  8. matlab图像局部放大算法

    此代码可从https://github.com/TimeIvyace/Partial-Enlargement-of-Image.git中下载 本算法简单的实现了图像局部放大的效果,算法需要确定放大区域 ...

  9. 模糊推理-图像边缘检测算法(min-max重心法)

    1.首先要求得边缘隶属度方向 隶属度方向有8个方向,如下图: 每个像素的隶属度方向的可能结果有8种,所以需要判断出哪个方向是最大可能. 以Eg(邻域隔离强度)和Ed(邻域强度方差)来判定 Eg的求取: ...

最新文章

  1. [c++]引入了头文件和动态库,为什么找不到函数实现
  2. 一个简单的反射拷贝一份新的实体类
  3. python测验4_python接口自动化测试四:代码发送HTTPS请求
  4. Python 使用 itchat+pillow 实现微信消息自动回复
  5. Centos7 安装 Python3.9
  6. 明天14点直播间见!5位业内大咖带您解锁数据库内核技术与行业应用
  7. 一个使用多年的Makefile模板
  8. 穹顶之下 众信金融邀您共植树助环保
  9. 计算机为动态分区无法安装系统,采用gpt分区无法安装系统怎么办
  10. 大华C/C++面试题目解析
  11. 传智杯2021年第三届传智杯全国大学生IT技能大赛(决赛B组)python小白解题思路
  12. imovie导入媒体没有声音的解决办法
  13. 利用LORA无线信号接入数据的手持PDA装置
  14. Java斐波那契数列
  15. Http和https请求过程
  16. dell蓝牙图标消失,不能用
  17. 《网页设计与制作项目教材》-Chapter06千年之恋 -20210605
  18. 网页自动下载文件并汇总 (VBA)
  19. 我赢助手详解抖音推荐算法的底层逻辑,视频是怎样从零开始到爆款的?
  20. Java IP归属地查询(离线方式+在线方式,内附查询IP方法)

热门文章

  1. regasm注册com组件
  2. 迭代器、可迭代对象与生成器
  3. Bootstrap 按钮组
  4. [补档][中山市选2011]杀人游戏
  5. 32.210内存的知识
  6. Java基础-JDK动态代理
  7. XMPP iOS客户端实现三:登录、注册
  8. SQL SERVER触发器使用实例
  9. UA MATH524 复变函数14 Laurent级数
  10. UA MATH567 高维统计IV Lipschitz组合8 随机投影与John-Lindenstrauss引理