最近因为项目须要,须要作一些边缘检测相关的工做。因而把最近几天的学习内容作一下整理。算法
①.基本原理数组
在图像处理和计算机视觉中,边缘检测被普遍使用。其目的在于标识出数字图像中亮点变化明显的点,进而学习
提取出有用的信息。一般状况下咱们能够将数字图像表示为二位数组,而概二位数组中每一个元素的值则对应spa
着图像各个像素点的灰度值。而边缘检测的根本原理是经过算法将该数组中各个数据邻域内数值变化大的数据it
元素进行突出显示,而邻域内变化不大的相邻数据元素数据元素进行屏蔽或下降其灰度显示。图像处理
不能看出其边缘检测的很像即为如何找出一种算法来突出这种邻域内的数值变化率。原理
②.边缘检测算法有哪些程序
不难看出,边缘检测算法的核心是突出图像中变化率,不管目标与目标,仍是目标与背景之间。这于导数的im
概念离奇的详尽。而对于离散的数字图像中,咱们可使用与求导类比的差分运算来提取图像边缘。基于此原总结
理应用于二维数组中咱们能够求出该二维数组的梯度模矩阵。该梯度模矩阵就能比较清楚的表示出图像矩阵的
边缘。固然也能够设定一个阈值,当梯度模矩阵中大于阈值的元素则保留,而低于阈值的元素则设为黑度。
根据梯度模矩阵的不一样求法,边缘检测算法能够分为两大类:一阶导数方式(梯度算子)和二阶导数方式
而一阶导数方式中几种常见的边缘算子为:Robert,Sobel,PreWitt,kvisch.
而二阶导数方式常见的有:laplace算子
③.边缘检测在图像处理中的通常步骤
其中第一步为滤波,由于图像中存在噪声因此须要先进行滤波。然而数字图像中的噪声大多和边缘信号一
样占据高频段,因此若是滤波过于彻底极可能连同边缘一块儿滤除,使得滤波后的图像变得模糊,没法提取有
效的边缘。而第二步为咱们一般所说的利用边缘算子对边缘进行加强。这一步的结果即可直接当作边缘检测
的结果。然而大多数边缘检测还须要进行第三部,设定阈值,对超过阈值的像素点进行突出,对低于阈值的像
素点进行屏蔽。
④.matlab边缘处理示例。
程序代码以下:
程序结果以下:
本文对边缘检测作了简单的概述,也是对近两天学习的总结。经过此文相信你们会对边缘检测有了
大概的了解,经过最后一个示例程序使读者对各类边缘处理的印象更加直观。文中不免出现纰漏还望
读者批评指正,最后共同进步。