图像边缘检测——一阶微分算子 Roberts、Sobel、Prewitt、Kirsch、Robinson
图像为什么会有边缘?
图像边缘一般指图像的灰度变化率最大的位置。成因主要如下:
1.图像灰度在表面方向变化不连续;
2.图像中物体在空间上的深度不一致;
3.在光滑的表面上颜色不一致;
4.图像中物体的光影
所以边缘检测指的是从图像中检测边缘点和边缘段,并且描述边缘方向的过程。图像可以看成二元函数f(x,y),(x,y)是pixel的位置,f(x,y)是该处的灰度值,这样图像就可以想象成是一个曲面。看作曲面以后,就可以用数学的方法来处理了。边缘即曲面上变化最剧烈的位置,这个位置也是曲面的局部极值点的位置,求极值大家都知道,可以用导数来求。基于边缘检测的图像分割方法的基本思路就是先确定图像中的边缘像素,然后再把这些像素连接在一起就构成所需的区域边界。
下图展示了图像边缘类型及导数曲线规律示例
如何计算边缘点?
知道了原理后,我们的目标:一是找到边缘的位置,二是要确定边缘的方向。
而在实际的图像处理中,可以采用差分的方法来进行计算。但用差分的方法进行边缘检测必须使差分的方向和边缘的方向相垂直,这就需要对图像的不同方向分别进行差分运算,增加了运算量。一般可将边缘分为水平边缘、垂直边缘和对角线边缘。
两个关键点:
1. 图像是离散的,微分算子也要离散化,我们用差分的方式去逼近微分,并将微分算子简化为模板;
2. 到底要不要把一个点看作边缘点,我们是通过设定一个阈值来判断的,微分后大于这个阈值,就判作边缘。
一个注意点:
导数是检测突变的地方,如果某处有噪声干扰,很容易误检,即一阶微分不能抵抗噪声。所以在使用一阶微分检测边缘之前,通常进行预处理抵抗噪声。
Reberts算子
Roberts 梯度算子利用对角方向相邻两像素值之差作为衡量标准,其计算方法如下:
如果写成卷积运算的形式,卷积核分别为:
prewitt算子
prewitt算子结合了差分运算与邻域平均的方法。其卷积模板如下:
Sobel算子
Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。它对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。但缺点就是Sobel算子并没有将图像的主体与背景严格地区分开来,即:Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。
sobel算子的模板为
参考:
https://blog.csdn.net/xiahn1a/article/details/42141429
https://blog.csdn.net/u014485485/article/details/78339420
图像边缘检测——一阶微分算子 Roberts、Sobel、Prewitt、Kirsch、Robinson相关推荐
- 图像边缘检测——一阶微分算子 Roberts、Sobel、Prewitt、Kirsch、Robinson(Matlab实现)
图像边缘一般指图像的灰度变化率最大的位置.成因主要如下: 1.图像灰度在表面法向变化不连续: 2.图像中物体在空间上的深度不一致: 3.在光滑的表面上颜色不一致: 4.图像中物体的光影 边缘检测指的是 ...
- Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子
确定图像中的物体边界的一种方法是先检测每个像素和其直接淋雨的状态已决定该像素是否确实处于一个物体的边界上.具有这种特性的像素被标记为边缘点.当图像中各个像素的灰度级用来反映各像素要求的程度时,这种图像 ...
- 图像处理——Canny算子 图像边缘检测:Canny算子、Prewitt算子和sobel算子
https://blog.csdn.net/fengye2two/article/details/79190759 https://www.jianshu.com/p/bed4ffe996a1
- Roberts、Prewitt、Sobel、Laplacian、LoG 和 Canny 边缘检测算子(MATLAB自写函数实现)
文章目录 Roberts.Prewitt.Sobel.Laplacian.LoG 和 Canny 边缘检测算子(MATLAB自写函数实现) 1理论 1.1 知识引入 1.1.1 图像边缘边缘[1] 1 ...
- [Python从零到壹] 五十七.图像增强及运算篇之图像锐化Roberts、Prewitt算子实现边缘检测
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- CV笔记6:图像边缘检测之一阶微分算子、二阶微分算子、Canny边缘检测(基于python-opencv实现)
目录 一.边缘简介 1.1 何为边缘 1.2 产生原因 二.边缘检测方法 2.1 一阶微分算子计算原理 2.2 噪声对一阶微分算子的影响及解决方案 2.3 常见的一阶微分算子 2.3.1 Robert ...
- OpenCV(十五)边缘检测1 -- Sobel算子(一阶微分算子,X、Y方向边缘检测)
目录 一.边缘检测基础理论 1.作用: 2.分类 1.基于搜索 2.基于零穿越 3.算子比较 二.Sobel算子基础理论 1.作用 2.原理及推导 3.更详细推导 4.Sobel函数 二.实战 1.对 ...
- 图像边缘检测技术与理论发展脉络梳理大放送
FROM:http://blog.csdn.net/baimafujinji/article/details/23352867 基于梯度的方法 Roberts, Sobel, Prewitt 带方向的 ...
- 【图像处理】——Python图像分割边缘检测算法之一阶梯度算子(Roberts、Prewitt、Sobel、 Kirsch、Canny算子)
目录 前言 一.边缘检测算法 1.一阶算子 2.二阶算子 二.一阶算子 原图像lena 1.Roberts算子 不同方向的算子模板 梯度的计算 系统代码: 自定义函数代码 结果 2.Prewitt 不 ...
最新文章
- anaconda3配置环境变量_Python:Anaconda安装及LabelMe配置(1)
- SSH服务审计工具ssh-audit
- 系统重装 如何转换GPT的磁盘格式为MBR或者反过来
- 全国公共英语五级(PETS-5) 写作作文
- TMS320F28335时钟(1)
- python中classmethod的用法_Python中的@classmethod是如何使用的?
- 基本概念—监督与非监督
- node实现watcher的困境
- mkdir命令使用范例
- 单片机测量代码运行时间方法-STM32
- 获取位置_原神蜥蜴尾巴怎么获得 蜥蜴尾巴获取位置分享
- Linux统计文件夹下文件数量
- Python量化基础:时间序列的平稳性检验
- 常见的商业数据库系统
- 中文论文检索证明怎么开_SCI论文检索后收录证明怎么开?
- 其实我们可以做自己的心理医生
- 螺丝螺母匹配问题(快排的变形应用)
- tcp协议系列文章(2):从man 7 tcp开始
- 高光谱学习(一):高光谱遥感基础知识
- GridDehazeNet