要用专业的词汇
http://www.pages.drexel.edu/~weg22/can_tut.html这是文献的地址
Canny边缘检测教程
Author: Bill Green (2002) 作者:比尔绿色( 2002 )
HOME EMAIL 主页 电子邮件
This tutorial assumes the reader: 本教程假定读者:
(1) Knows how to develop source code to read raster data ( 1 )知道如何发展的源代码阅读栅格数据
(2) Has already read my Sobel edge detection tutorial ( 2 )已经阅读我Sobel边缘检测教程
This tutorial will teach you how to:本教程将教你如何:
(1) Implement the Canny edge detection algorithm. ( 1 )实施Canny边缘检测算法。
INTRODUCTION 导言
Edges characterize boundaries and are therefore a problem of fundamental importance in image processing.边的特点,因此,边界问题,根本的重要性在图像处理中。 Edges in images are areas with strong intensity contrasts – a jump in intensity from one pixel to the next.在图像的边缘地区,强度强的反差-一个跳转的强度从一个像素的下一个。 Edge detecting an image significantly reduces the amount of data and filters out useless information, while preserving the important structural properties in an image. This was also stated in my Sobel and Laplace edge detection tutorial, but I just wanted reemphasize the point of why you would want to detect edges.边缘检测的图像大大减少了大量的数据,并过滤掉无用的信息,同时保持重要的结构性能的形象。这也是我在索贝尔和拉普拉斯边缘检测教程,但我只是想再次强调这一点的,为什么你会要检测的边缘。
The Canny edge detection algorithm is known to many as the optimal edge detector. Canny's intentions were to enhance the many edge detectors already out at the time he started his work.的Canny边缘检测算法是众所周知的许多人视为最佳边缘检测。坎尼的意图是要加强许多先进的探测器已经在的时候,他开始他的工作。 He was very successful in achieving his goal and his ideas and methods can be found in his paper, " A Computational Approach to Edge Detection ".他很成功地实现他的目标和他的思想和方法中可以找到他的论文“ 计算方法的边缘检测 ” 。 In his paper, he followed a list of criteria to improve current methods of edge detection.在他的文件中,他遵循的标准清单,以改善目前的边缘检测方法。 The first and most obvious is low error rate.第一个也是最明显的错误率低。 It is important that edges occuring in images should not be missed and that there be NO responses to non-edges.重要的是,发生在图像边缘不应错过的,没有任何反应,非边缘。 The second criterion is that the edge points be well localized. In other words, the distance between the edge pixels as found by the detector and the actual edge is to be at a minimum.第二个标准是,边缘点很好地本地化。换言之,之间的距离边缘像素作为探测器发现和实际边缘要在最低限度。 A third criterion is to have only one response to a single edge.第三个标准是,只有一个回应单一优势。 This was implemented because the first 2 were not substantial enough to completely eliminate the possibility of multiple responses to an edge.这是第一次实施,因为并没有实质性的2足以完全消除的可能性,多反应的优势。
Based on these criteria, the canny edge detector first smoothes the image to eliminate and noise.根据这些标准, Canny边缘检测器的第一个平滑的图像,以消除和噪音。 It then finds the image gradient to highlight regions with high spatial derivatives.然后认定的形象,以突出地区梯度高空间衍生物。 The algorithm then tracks along these regions and suppresses any pixel that is not at the maximum (nonmaximum suppression).该算法然后轨道沿着这些地区和抑制任何像素这不是在最高( nonmaximum制止) 。 The gradient array is now further reduced by hysteresis.梯度阵列现在进一步减少滞后。 Hysteresis is used to track along the remaining pixels that have not been suppressed.磁滞用来追踪沿其余像素,但没有压制。 Hysteresis uses two thresholds and if the magnitude is below the first threshold, it is set to zero (made a nonedge).磁滞使用两个阈值,如果规模低于第一道门槛,这是设置为零(发了nonedge ) 。 If the magnitude is above the high threshold, it is made an edge.如果是规模以上的高门槛,这是一个优势。 And if the magnitude is between the 2 thresholds, then it is set to zero unless there is a path from this pixel to a pixel with a gradient above T2.如果震级之间的2阈值,那么它设置为零,除非有一条从这个像素一个像素的梯度上述时刻。
Step 1 第1步
In order to implement the canny edge detector algorithm, a series of steps must be followed.为了落实Canny边缘检测算法,一系列步骤必须遵循。 The first step is to filter out any noise in the original image before trying to locate and detect any edges.第一步是筛选出任何噪音的原始图像在寻找和发现任何边缘。 And because the Gaussian filter can be computed using a simple mask, it is used exclusively in the Canny algorithm.而且因为高斯滤波器可以用一个简单的计算面具,它是专门用于在Canny算法。 Once a suitable mask has been calculated, the Gaussian smoothing can be performed using standard convolution methods.一旦合适的面罩已计算,高斯平滑可以用标准的卷积方法。 A convolution mask is usually much smaller than the actual image.阿卷积掩模通常远远小于实际的形象。 As a result, the mask is slid over the image, manipulating a square of pixels at a time. The larger the width of the Gaussian mask, the lower is the detector's sensitivity to noise .因此,该面具是下跌的形象,操纵一个正方形的像素上。 较大的宽度高斯面具,较低的是探测器的敏感性噪音 。 The localization error in the detected edges also increases slightly as the Gaussian width is increased.定位误差检测边缘也略有增加的高斯宽度增加。 The Gaussian mask used in my implementation is shown below.高斯遮罩使用我在执行下面显示。
Step 2 第2步
After smoothing the image and eliminating the noise, the next step is to find the edge strength by taking the gradient of the image.经过平滑的形象,消除噪音,下一步就是要找到优势兵力,采取梯度的形象。 The Sobel operator performs a 2-D spatial gradient measurement on an image.的Sobel算子进行二维空间梯度测量的形象。 Then, the approximate absolute gradient magnitude (edge strength) at each point can be found.然后,大约绝对梯度幅度(边缘强度)各点可以找到。 The Sobel operator uses a pair of 3x3 convolution masks, one estimating the gradient in the x-direction (columns) and the other estimating the gradient in the y-direction (rows). Sobel算子的使用对3x3卷积口罩,一个梯度估计在X方向(栏)和其他的梯度估计的Y方向(行) 。 They are shown below:它们如下所示:
The magnitude, or EDGE STRENGTH, of the gradient is then approximated using the formula:的规模,或EDGE强度,梯度近似然后使用公式:
|G| = |Gx| + |Gy| | G | = | GX的| + |戈瑞|
Step 3 第3步
Finding the edge direction is trivial once the gradient in the x and y directions are known.寻找边缘方向是小事,一旦梯度在X和Y方向是众所周知的。 However, you will generate an error whenever sumX is equal to zero.然而,你会产生错误时sumX等于零。 So in the code there has to be a restriction set whenever this takes place.因此,在代码中必须有一个限制规定只要发生。 Whenever the gradient in the x direction is equal to zero, the edge direction has to be equal to 90 degrees or 0 degrees, depending on what the value of the gradient in the y-direction is equal to.每当梯度在x方向等于零,边缘的方向,必须等于90度或0度,取决于什么的价值梯度的Y方向等于。 If GY has a value of zero, the edge direction will equal 0 degrees.如果青的值为零,边缘方向将等于0度。 Otherwise the edge direction will equal 90 degrees.否则边缘方向将等于90度。 The formula for finding the edge direction is just:公式为寻找边缘方向是:
theta = invtan (Gy / Gx)论旨= invtan (戈瑞/ GX的)
Step 4 第4步
Once the edge direction is known, the next step is to relate the edge direction to a direction that can be traced in an image.一旦边缘方向众所周知,下一步是与边缘方向为方向,可以追溯到在一个图像。 So if the pixels of a 5x5 image are aligned as follows:因此,如果一个5x5像素图像对齐如下:
x x x x x x x x x x
x x x x x x x x x x
x x a x x x x 1 x x
x x x x x x x x x x
x x x x x x x x x x
Then, it can be seen by looking at pixel " a ", there are only four possible directions when describing the surrounding pixels - 0 degrees (in the horizontal direction), 45 degrees (along the positive diagonal), 90 degrees (in the vertical direction), or 135 degrees (along the negative diagonal).然后,可以看到看像素的“ A ” ,只有4个可能的方向时,描述了周围的像素- 0度 (水平方向) , 45度 (沿积极对角线) , 90度 (垂直方向) ,或135度 (沿负对角线) 。 So now the edge orientation has to be resolved into one of these four directions depending on which direction it is closest to (eg if the orientation angle is found to be 3 degrees, make it zero degrees).所以,现在的边缘方向已经得到解决纳入其中四个方向取决于哪个方向,它是最接近于(如角被发现有3度,使零摄氏度) 。 Think of this as taking a semicircle and dividing it into 5 regions.认为这是采取了半圆形和分裂成5个地区。
Therefore, any edge direction falling within the yellow range (0 to 22.5 & 157.5 to 180 degrees) is set to 0 degrees.因此,任何先进的方向范围内的黄色范围 ( 0至5月22日& 157.5至180度)设置为0度。 Any edge direction falling in the green range (22.5 to 67.5 degrees) is set to 45 degrees. Any edge direction falling in the blue range (67.5 to 112.5 degrees) is set to 90 degrees.任何先进的方向下滑的绿色范围 ( 22.5至67.5度)设置为45度。任何优势的方向下滑的蓝色范围 ( 67.5至112.5度)设置为90度。 And finally, any edge direction falling within the red range (112.5 to 157.5 degrees) is set to 135 degrees.最后,任何先进的方向范围内的红色范围 ( 112.5到157.5度)设置为135度。
Step 5 第5步
After the edge directions are known, nonmaximum suppression now has to be applied. Nonmaximum suppression is used to trace along the edge in the edge direction and suppress any pixel value (sets it equal to 0) that is not considered to be an edge. This will give a thin line in the output image.在被称为边缘方向, nonmaximum抑制现在必须适用。 Nonmaximum抑制是用来追踪沿边缘方向和制止任何像素值(套等于0 )这是不被认为是优势。这将给细线的输出图像。
Step 6 第6步
Finally, hysteresis is used as a means of eliminating streaking.最后,滞后是用来作为一种手段,消除条纹。 Streaking is the breaking up of an edge contour caused by the operator output fluctuating above and below the threshold.裸奔是打破的边缘轮廓线的经营者造成的产量波动上面和下面的门槛。 If a single threshold, T1 is applied to an image, and an edge has an average strength equal to T1, then due to noise, there will be instances where the edge dips below the threshold.如果一个门槛, T1讯号适用于图像,并具有优势的平均强度相等的T1 ,然后由于噪声,将有情况下,边逢低低于阈值。 Equally it will also extend above the threshold making an edge look like a dashed line.同样它也将延长超过阈值决策的优势看起来像一个虚线。 To avoid this, hysteresis uses 2 thresholds, a high and a low.为了避免这种情况,滞后使用2的门槛,高和低。 Any pixel in the image that has a value greater than T1 is presumed to be an edge pixel, and is marked as such immediately.任何像素的图像,其值大于表# t1推定为边缘像素,并标示为这种立即。 Then, any pixels that are connected to this edge pixel and that have a value greater than T2 are also selected as edge pixels.然后,任何像素连接到这个边缘像素,并有一个值大于时刻还选定为边缘像素。 If you think of following an edge, you need a gradient of T2 to start but you don't stop till you hit a gradient below T1.如果您认为以下的优势,您需要一个梯度的时刻开始,但你不停止直到触及梯度低于表# t1 。
You are visitor number: 你是第位访客人数:
Author: Bill Green (2002) 作者:比尔绿色( 2002 )
HOME EMAIL 主页 电子邮件
This tutorial assumes the reader: 本教程假定读者:
(1) Knows how to develop source code to read raster data ( 1 )知道如何发展的源代码阅读栅格数据
(2) Has already read my Sobel edge detection tutorial ( 2 )已经阅读我Sobel边缘检测教程
This tutorial will teach you how to:本教程将教你如何:
(1) Implement the Canny edge detection algorithm. ( 1 )实施Canny边缘检测算法。
INTRODUCTION 导言
Edges characterize boundaries and are therefore a problem of fundamental importance in image processing.边的特点,因此,边界问题,根本的重要性在图像处理中。 Edges in images are areas with strong intensity contrasts – a jump in intensity from one pixel to the next.在图像的边缘地区,强度强的反差-一个跳转的强度从一个像素的下一个。 Edge detecting an image significantly reduces the amount of data and filters out useless information, while preserving the important structural properties in an image. This was also stated in my Sobel and Laplace edge detection tutorial, but I just wanted reemphasize the point of why you would want to detect edges.边缘检测的图像大大减少了大量的数据,并过滤掉无用的信息,同时保持重要的结构性能的形象。这也是我在索贝尔和拉普拉斯边缘检测教程,但我只是想再次强调这一点的,为什么你会要检测的边缘。
The Canny edge detection algorithm is known to many as the optimal edge detector. Canny's intentions were to enhance the many edge detectors already out at the time he started his work.的Canny边缘检测算法是众所周知的许多人视为最佳边缘检测。坎尼的意图是要加强许多先进的探测器已经在的时候,他开始他的工作。 He was very successful in achieving his goal and his ideas and methods can be found in his paper, " A Computational Approach to Edge Detection ".他很成功地实现他的目标和他的思想和方法中可以找到他的论文“ 计算方法的边缘检测 ” 。 In his paper, he followed a list of criteria to improve current methods of edge detection.在他的文件中,他遵循的标准清单,以改善目前的边缘检测方法。 The first and most obvious is low error rate.第一个也是最明显的错误率低。 It is important that edges occuring in images should not be missed and that there be NO responses to non-edges.重要的是,发生在图像边缘不应错过的,没有任何反应,非边缘。 The second criterion is that the edge points be well localized. In other words, the distance between the edge pixels as found by the detector and the actual edge is to be at a minimum.第二个标准是,边缘点很好地本地化。换言之,之间的距离边缘像素作为探测器发现和实际边缘要在最低限度。 A third criterion is to have only one response to a single edge.第三个标准是,只有一个回应单一优势。 This was implemented because the first 2 were not substantial enough to completely eliminate the possibility of multiple responses to an edge.这是第一次实施,因为并没有实质性的2足以完全消除的可能性,多反应的优势。
Based on these criteria, the canny edge detector first smoothes the image to eliminate and noise.根据这些标准, Canny边缘检测器的第一个平滑的图像,以消除和噪音。 It then finds the image gradient to highlight regions with high spatial derivatives.然后认定的形象,以突出地区梯度高空间衍生物。 The algorithm then tracks along these regions and suppresses any pixel that is not at the maximum (nonmaximum suppression).该算法然后轨道沿着这些地区和抑制任何像素这不是在最高( nonmaximum制止) 。 The gradient array is now further reduced by hysteresis.梯度阵列现在进一步减少滞后。 Hysteresis is used to track along the remaining pixels that have not been suppressed.磁滞用来追踪沿其余像素,但没有压制。 Hysteresis uses two thresholds and if the magnitude is below the first threshold, it is set to zero (made a nonedge).磁滞使用两个阈值,如果规模低于第一道门槛,这是设置为零(发了nonedge ) 。 If the magnitude is above the high threshold, it is made an edge.如果是规模以上的高门槛,这是一个优势。 And if the magnitude is between the 2 thresholds, then it is set to zero unless there is a path from this pixel to a pixel with a gradient above T2.如果震级之间的2阈值,那么它设置为零,除非有一条从这个像素一个像素的梯度上述时刻。
Step 1 第1步
In order to implement the canny edge detector algorithm, a series of steps must be followed.为了落实Canny边缘检测算法,一系列步骤必须遵循。 The first step is to filter out any noise in the original image before trying to locate and detect any edges.第一步是筛选出任何噪音的原始图像在寻找和发现任何边缘。 And because the Gaussian filter can be computed using a simple mask, it is used exclusively in the Canny algorithm.而且因为高斯滤波器可以用一个简单的计算面具,它是专门用于在Canny算法。 Once a suitable mask has been calculated, the Gaussian smoothing can be performed using standard convolution methods.一旦合适的面罩已计算,高斯平滑可以用标准的卷积方法。 A convolution mask is usually much smaller than the actual image.阿卷积掩模通常远远小于实际的形象。 As a result, the mask is slid over the image, manipulating a square of pixels at a time. The larger the width of the Gaussian mask, the lower is the detector's sensitivity to noise .因此,该面具是下跌的形象,操纵一个正方形的像素上。 较大的宽度高斯面具,较低的是探测器的敏感性噪音 。 The localization error in the detected edges also increases slightly as the Gaussian width is increased.定位误差检测边缘也略有增加的高斯宽度增加。 The Gaussian mask used in my implementation is shown below.高斯遮罩使用我在执行下面显示。
Step 2 第2步
After smoothing the image and eliminating the noise, the next step is to find the edge strength by taking the gradient of the image.经过平滑的形象,消除噪音,下一步就是要找到优势兵力,采取梯度的形象。 The Sobel operator performs a 2-D spatial gradient measurement on an image.的Sobel算子进行二维空间梯度测量的形象。 Then, the approximate absolute gradient magnitude (edge strength) at each point can be found.然后,大约绝对梯度幅度(边缘强度)各点可以找到。 The Sobel operator uses a pair of 3x3 convolution masks, one estimating the gradient in the x-direction (columns) and the other estimating the gradient in the y-direction (rows). Sobel算子的使用对3x3卷积口罩,一个梯度估计在X方向(栏)和其他的梯度估计的Y方向(行) 。 They are shown below:它们如下所示:
The magnitude, or EDGE STRENGTH, of the gradient is then approximated using the formula:的规模,或EDGE强度,梯度近似然后使用公式:
|G| = |Gx| + |Gy| | G | = | GX的| + |戈瑞|
Step 3 第3步
Finding the edge direction is trivial once the gradient in the x and y directions are known.寻找边缘方向是小事,一旦梯度在X和Y方向是众所周知的。 However, you will generate an error whenever sumX is equal to zero.然而,你会产生错误时sumX等于零。 So in the code there has to be a restriction set whenever this takes place.因此,在代码中必须有一个限制规定只要发生。 Whenever the gradient in the x direction is equal to zero, the edge direction has to be equal to 90 degrees or 0 degrees, depending on what the value of the gradient in the y-direction is equal to.每当梯度在x方向等于零,边缘的方向,必须等于90度或0度,取决于什么的价值梯度的Y方向等于。 If GY has a value of zero, the edge direction will equal 0 degrees.如果青的值为零,边缘方向将等于0度。 Otherwise the edge direction will equal 90 degrees.否则边缘方向将等于90度。 The formula for finding the edge direction is just:公式为寻找边缘方向是:
theta = invtan (Gy / Gx)论旨= invtan (戈瑞/ GX的)
Step 4 第4步
Once the edge direction is known, the next step is to relate the edge direction to a direction that can be traced in an image.一旦边缘方向众所周知,下一步是与边缘方向为方向,可以追溯到在一个图像。 So if the pixels of a 5x5 image are aligned as follows:因此,如果一个5x5像素图像对齐如下:
x x x x x x x x x x
x x x x x x x x x x
x x a x x x x 1 x x
x x x x x x x x x x
x x x x x x x x x x
Then, it can be seen by looking at pixel " a ", there are only four possible directions when describing the surrounding pixels - 0 degrees (in the horizontal direction), 45 degrees (along the positive diagonal), 90 degrees (in the vertical direction), or 135 degrees (along the negative diagonal).然后,可以看到看像素的“ A ” ,只有4个可能的方向时,描述了周围的像素- 0度 (水平方向) , 45度 (沿积极对角线) , 90度 (垂直方向) ,或135度 (沿负对角线) 。 So now the edge orientation has to be resolved into one of these four directions depending on which direction it is closest to (eg if the orientation angle is found to be 3 degrees, make it zero degrees).所以,现在的边缘方向已经得到解决纳入其中四个方向取决于哪个方向,它是最接近于(如角被发现有3度,使零摄氏度) 。 Think of this as taking a semicircle and dividing it into 5 regions.认为这是采取了半圆形和分裂成5个地区。
Therefore, any edge direction falling within the yellow range (0 to 22.5 & 157.5 to 180 degrees) is set to 0 degrees.因此,任何先进的方向范围内的黄色范围 ( 0至5月22日& 157.5至180度)设置为0度。 Any edge direction falling in the green range (22.5 to 67.5 degrees) is set to 45 degrees. Any edge direction falling in the blue range (67.5 to 112.5 degrees) is set to 90 degrees.任何先进的方向下滑的绿色范围 ( 22.5至67.5度)设置为45度。任何优势的方向下滑的蓝色范围 ( 67.5至112.5度)设置为90度。 And finally, any edge direction falling within the red range (112.5 to 157.5 degrees) is set to 135 degrees.最后,任何先进的方向范围内的红色范围 ( 112.5到157.5度)设置为135度。
Step 5 第5步
After the edge directions are known, nonmaximum suppression now has to be applied. Nonmaximum suppression is used to trace along the edge in the edge direction and suppress any pixel value (sets it equal to 0) that is not considered to be an edge. This will give a thin line in the output image.在被称为边缘方向, nonmaximum抑制现在必须适用。 Nonmaximum抑制是用来追踪沿边缘方向和制止任何像素值(套等于0 )这是不被认为是优势。这将给细线的输出图像。
Step 6 第6步
Finally, hysteresis is used as a means of eliminating streaking.最后,滞后是用来作为一种手段,消除条纹。 Streaking is the breaking up of an edge contour caused by the operator output fluctuating above and below the threshold.裸奔是打破的边缘轮廓线的经营者造成的产量波动上面和下面的门槛。 If a single threshold, T1 is applied to an image, and an edge has an average strength equal to T1, then due to noise, there will be instances where the edge dips below the threshold.如果一个门槛, T1讯号适用于图像,并具有优势的平均强度相等的T1 ,然后由于噪声,将有情况下,边逢低低于阈值。 Equally it will also extend above the threshold making an edge look like a dashed line.同样它也将延长超过阈值决策的优势看起来像一个虚线。 To avoid this, hysteresis uses 2 thresholds, a high and a low.为了避免这种情况,滞后使用2的门槛,高和低。 Any pixel in the image that has a value greater than T1 is presumed to be an edge pixel, and is marked as such immediately.任何像素的图像,其值大于表# t1推定为边缘像素,并标示为这种立即。 Then, any pixels that are connected to this edge pixel and that have a value greater than T2 are also selected as edge pixels.然后,任何像素连接到这个边缘像素,并有一个值大于时刻还选定为边缘像素。 If you think of following an edge, you need a gradient of T2 to start but you don't stop till you hit a gradient below T1.如果您认为以下的优势,您需要一个梯度的时刻开始,但你不停止直到触及梯度低于表# t1 。
You are visitor number: 你是第位访客人数:
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-02-19
本教程将教你如何:
( 1 )实施图像边缘检测算法。
导言
边的特点,因此,边界问题,根本的重要性在图像处理中。在图像的边缘地区,强度强的反差?猛增强度从一个像素的下一个。边缘检测的图像大大减少了大量的数据,并过滤掉无用的信息,同时保持重要的结构性能的形象。这也是我在索贝尔和拉普拉斯边缘检测教程,但我只是想再次强调这一点的,为什么您要检测的边缘。
图像边缘检测算法是众所周知的许多人视为最佳边缘检测。精明的意图是要加强许多边缘探测器已经在的时候,他开始了他的工作。他很成功地实现他的目标和他的思想和方法中可以找到他的论文“计算方法的边缘检测” 。在他的文件中,他遵循的标准清单,以改善目前的边缘检测方法。第一个也是最明显的错误率低。重要的是,发生在图像边缘不应错过的,没有任何反应,非边缘。第二个标准是,边缘点很好地本地化。换言之,之间的距离边缘像素作为探测器发现和实际边缘要在最低限度。第三个标准是,只有一个回应单一优势。这是第一次实施,因为并没有实质性的2足以完全消除的可能性,多反应的优势。
根据这些标准, 图像边缘检测器的第一个平滑的图像,以消除和噪音。然后认定的形象,以突出地区梯度高空间衍生物。该算法然后轨道沿着这些地区和抑制任何像素这不是在最高( 非最大限度制止) 。梯度阵列现在进一步减少滞后。磁滞用来追踪沿其余像素,但没有压制。磁滞使用两个阈值,如果规模低于第一道门槛,这是设置为零(发了nonedge ) 。如果是规模以上的高门槛,这是一个优势。如果震级之间的2阈值,那么它设置为零,除非有一条从这个像素一个像素的梯度上述时刻。
第1步
为了落实图
像边缘检测算法,一系列步骤必须遵循。第一步是筛选出任何噪音的原始图像在寻找和发现任何边缘。而且因为高斯滤波器可以用一个简单的计算面具,它是专门用于在Canny算法。一旦合适的面罩已计算,高斯平滑可以用标准的卷积方法。阿卷积掩模通常远远小于实际的形象。因此,该面具是下跌的形象,操纵一个正方形像素的时间。较大的宽度高斯面具,较低的是探测器的敏感性噪音。定位误差检测边缘也略有增加的高斯宽度增加。高斯遮罩使用我在执行下面显示。
第2步
经过平滑的形象,消除噪音,下一步就是要找到优势兵力,采取梯度的形象。的Sobel算子进行二维空间梯度测量的形象。然后,大约绝对梯度幅度(边缘强度)各点可以找到。 Sobel算子的使用对3x3卷积口罩,一个梯度估计在X方向(栏)和其他的梯度估计的Y方向(行) 。它们如下所示:
的规模,或EDGE强度,梯度近似然后使用公式:
| G | = | GX的| + |戈瑞|
第3步
寻找边缘方向是小事,一旦梯度在X和Y方向是众所周知的。然而,你会产生错误时sumX等于零。因此,在代码中必须有一个限制规定只要发生。每当梯度在x方向等于零,边缘的方向,必须等于90度或0度,取决于什么的价值梯度的Y方向等于。如果青的值为零,边缘方向将等于0度。否则边缘方向将等于90度。公式为寻找边缘方向是:
论旨= invtan (戈瑞/ GX的)
第4步
一旦边缘方向众所周知,下一步是与边缘方向为方向,可以追溯到在一个图像。因此,如果一个5x5像素图像对齐如下:
x x x x x
x x x x x
x x 1 x x
x x x x x
x x x x x
然后,可以看到看像素的“ A ” ,只有4个可能的方向时,描述了周围的像素- 0度(水平方向) , 45度(沿积极对角线) , 90度(垂直方向) ,或135度(沿负对角线) 。所以,现在的边缘方向已经得到解决纳入其中四个方向取决于哪个方向,它是最接近于(如角被发现有3度,使零摄氏度) 。认为这是采取了半圆形和分裂成5个地区。
因此,任何先进的方向范围内的黄色范围( 0至5月22日& 157.5至180度)设置为0度。任何先进的方向下滑的绿色范围( 22.5至67.5度)设置为45度。任何先进的方向下滑的蓝色范围( 67.5至112.5度)设置为90度。最后,任何先进的方向范围内的红色范围( 112.5到157.5度)设置为135度。
第5步
在被称为边缘方向, 非最大限度制止目前适用。 非最大限度抑制是用来追踪沿边缘方向和制止任何像素值(套等于0 )这是不被认为是优势。这将让细线在输出图像。
第6步
最后,滞后是用来作为一种手段,消除条纹。裸奔是打破的边缘轮廓线的经营者造成的产量波动上面和下面的门槛。如果一个门槛, T1讯号适用于图像,并具有优势的平均强度相等的T1 ,然后由于噪声,将先进的情况下,逢低低于阈值。同样它也将延长超过阈值决策的优势看起来像一个虚线。为了避免这种情况,滞后使用2的门槛,高和低。任何像素的图像,其值大于表# t1推定为边缘像素,并标示为这种立即。然后,任何像素连接到这个边缘像素,并有一个值大于时刻还选定为边缘像素。如果您认为以下的优势,您需要一个梯度的时刻开始,但你不停止直到触及梯度低于表# t1 。本回答被网友采纳
( 1 )实施图像边缘检测算法。
导言
边的特点,因此,边界问题,根本的重要性在图像处理中。在图像的边缘地区,强度强的反差?猛增强度从一个像素的下一个。边缘检测的图像大大减少了大量的数据,并过滤掉无用的信息,同时保持重要的结构性能的形象。这也是我在索贝尔和拉普拉斯边缘检测教程,但我只是想再次强调这一点的,为什么您要检测的边缘。
图像边缘检测算法是众所周知的许多人视为最佳边缘检测。精明的意图是要加强许多边缘探测器已经在的时候,他开始了他的工作。他很成功地实现他的目标和他的思想和方法中可以找到他的论文“计算方法的边缘检测” 。在他的文件中,他遵循的标准清单,以改善目前的边缘检测方法。第一个也是最明显的错误率低。重要的是,发生在图像边缘不应错过的,没有任何反应,非边缘。第二个标准是,边缘点很好地本地化。换言之,之间的距离边缘像素作为探测器发现和实际边缘要在最低限度。第三个标准是,只有一个回应单一优势。这是第一次实施,因为并没有实质性的2足以完全消除的可能性,多反应的优势。
根据这些标准, 图像边缘检测器的第一个平滑的图像,以消除和噪音。然后认定的形象,以突出地区梯度高空间衍生物。该算法然后轨道沿着这些地区和抑制任何像素这不是在最高( 非最大限度制止) 。梯度阵列现在进一步减少滞后。磁滞用来追踪沿其余像素,但没有压制。磁滞使用两个阈值,如果规模低于第一道门槛,这是设置为零(发了nonedge ) 。如果是规模以上的高门槛,这是一个优势。如果震级之间的2阈值,那么它设置为零,除非有一条从这个像素一个像素的梯度上述时刻。
第1步
为了落实图
像边缘检测算法,一系列步骤必须遵循。第一步是筛选出任何噪音的原始图像在寻找和发现任何边缘。而且因为高斯滤波器可以用一个简单的计算面具,它是专门用于在Canny算法。一旦合适的面罩已计算,高斯平滑可以用标准的卷积方法。阿卷积掩模通常远远小于实际的形象。因此,该面具是下跌的形象,操纵一个正方形像素的时间。较大的宽度高斯面具,较低的是探测器的敏感性噪音。定位误差检测边缘也略有增加的高斯宽度增加。高斯遮罩使用我在执行下面显示。
第2步
经过平滑的形象,消除噪音,下一步就是要找到优势兵力,采取梯度的形象。的Sobel算子进行二维空间梯度测量的形象。然后,大约绝对梯度幅度(边缘强度)各点可以找到。 Sobel算子的使用对3x3卷积口罩,一个梯度估计在X方向(栏)和其他的梯度估计的Y方向(行) 。它们如下所示:
的规模,或EDGE强度,梯度近似然后使用公式:
| G | = | GX的| + |戈瑞|
第3步
寻找边缘方向是小事,一旦梯度在X和Y方向是众所周知的。然而,你会产生错误时sumX等于零。因此,在代码中必须有一个限制规定只要发生。每当梯度在x方向等于零,边缘的方向,必须等于90度或0度,取决于什么的价值梯度的Y方向等于。如果青的值为零,边缘方向将等于0度。否则边缘方向将等于90度。公式为寻找边缘方向是:
论旨= invtan (戈瑞/ GX的)
第4步
一旦边缘方向众所周知,下一步是与边缘方向为方向,可以追溯到在一个图像。因此,如果一个5x5像素图像对齐如下:
x x x x x
x x x x x
x x 1 x x
x x x x x
x x x x x
然后,可以看到看像素的“ A ” ,只有4个可能的方向时,描述了周围的像素- 0度(水平方向) , 45度(沿积极对角线) , 90度(垂直方向) ,或135度(沿负对角线) 。所以,现在的边缘方向已经得到解决纳入其中四个方向取决于哪个方向,它是最接近于(如角被发现有3度,使零摄氏度) 。认为这是采取了半圆形和分裂成5个地区。
因此,任何先进的方向范围内的黄色范围( 0至5月22日& 157.5至180度)设置为0度。任何先进的方向下滑的绿色范围( 22.5至67.5度)设置为45度。任何先进的方向下滑的蓝色范围( 67.5至112.5度)设置为90度。最后,任何先进的方向范围内的红色范围( 112.5到157.5度)设置为135度。
第5步
在被称为边缘方向, 非最大限度制止目前适用。 非最大限度抑制是用来追踪沿边缘方向和制止任何像素值(套等于0 )这是不被认为是优势。这将让细线在输出图像。
第6步
最后,滞后是用来作为一种手段,消除条纹。裸奔是打破的边缘轮廓线的经营者造成的产量波动上面和下面的门槛。如果一个门槛, T1讯号适用于图像,并具有优势的平均强度相等的T1 ,然后由于噪声,将先进的情况下,逢低低于阈值。同样它也将延长超过阈值决策的优势看起来像一个虚线。为了避免这种情况,滞后使用2的门槛,高和低。任何像素的图像,其值大于表# t1推定为边缘像素,并标示为这种立即。然后,任何像素连接到这个边缘像素,并有一个值大于时刻还选定为边缘像素。如果您认为以下的优势,您需要一个梯度的时刻开始,但你不停止直到触及梯度低于表# t1 。本回答被网友采纳
第2个回答 2009-02-21
Canny边缘检测教程
作者:比尔绿色( 2002 )
主页电子邮件
本教程假定读者:
( 1 )知道如何发展的源代码阅读栅格数据
( 2 )已经阅读我Sobel边缘检测教程
本教程将教你如何:
( 1 )实施Canny边缘检测算法。
导言
边的特点,因此,边界问题,根本的重要性在图像处理中。在图像的边缘地区,强度强的反差?猛增强度从一个像素的下一个。边缘检测的图像大大减少了大量的数据,并过滤掉无用的信息,同时保持重要的结构性能的形象。这也是我在索贝尔和拉普拉斯边缘检测教程,但我只是想再次强调这一点的,为什么您要检测的边缘。
的Canny边缘检测算法是众所周知的许多人视为最佳边缘检测。精明的意图是要加强许多边缘探测器已经在的时候,他开始了他的工作。他很成功地实现他的目标和他的思想和方法中可以找到他的论文“计算方法的边缘检测” 。在他的文件中,他遵循的标准清单,以改善目前的边缘检测方法。第一个也是最明显的错误率低。重要的是,发生在图像边缘不应错过的,没有任何反应,非边缘。第二个标准是,边缘点很好地本地化。换言之,之间的距离边缘像素作为探测器发现和实际边缘要在最低限度。第三个标准是,只有一个回应单一优势。这是第一次实施,因为并没有实质性的2足以完全消除的可能性,多反应的优势。
根据这些标准, Canny边缘检测器的第一个平滑的图像,以消除和噪音。然后认定的形象,以突出地区梯度高空间衍生物。该算法然后轨道沿着这些地区和抑制任何像素这不是在最高( nonmaximum制止) 。梯度阵列现在进一步减少滞后。磁滞用来追踪沿其余像素,但没有压制。磁滞使用两个阈值,如果规模低于第一道门槛,这是设置为零(发了nonedge ) 。如果是规模以上的高门槛,这是一个优势。如果震级之间的2阈值,那么它设置为零,除非有一条从这个像素一个像素的梯度上述时刻。
第1步
为了落实Canny边缘检测算法,一系列步骤必须遵循。第一步是筛选出任何噪音的原始图像在寻找和发现任何边缘。而且因为高斯滤波器可以用一个简单的计算面具,它是专门用于在Canny算法。一旦合适的面罩已计算,高斯平滑可以用标准的卷积方法。阿卷积掩模通常远远小于实际的形象。因此,该面具是下跌的形象,操纵一个正方形像素的时间。较大的宽度高斯面具,较低的是探测器的敏感性噪音。定位误差检测边缘也略有增加的高斯宽度增加。高斯遮罩使用我在执行下面显示。
第2步
经过平滑的形象,消除噪音,下一步就是要找到优势兵力,采取梯度的形象。的Sobel算子进行二维空间梯度测量的形象。然后,大约绝对梯度幅度(边缘强度)各点可以找到。 Sobel算子的使用对3x3卷积口罩,一个梯度估计在X方向(栏)和其他的梯度估计的Y方向(行) 。它们如下所示:
的规模,或EDGE强度,梯度近似然后使用公式:
| G | = | GX的| + |戈瑞|
第3步
寻找边缘方向是小事,一旦梯度在X和Y方向是众所周知的。然而,你会产生错误时sumX等于零。因此,在代码中必须有一个限制规定只要发生。每当梯度在x方向等于零,边缘的方向,必须等于90度或0度,取决于什么的价值梯度的Y方向等于。如果青的值为零,边缘方向将等于0度。否则边缘方向将等于90度。公式为寻找边缘方向是:
论旨= invtan (戈瑞/ GX的)
第4步
一旦边缘方向众所周知,下一步是与边缘方向为方向,可以追溯到在一个图像。因此,如果一个5x5像素图像对齐如下:
x x x x x
x x x x x
x x 1 x x
x x x x x
x x x x x
然后,可以看到看像素的“ A ” ,只有4个可能的方向时,描述了周围的像素- 0度(水平方向) , 45度(沿积极对角线) , 90度(垂直方向) ,或135度(沿负对角线) 。所以,现在的边缘方向已经得到解决纳入其中四个方向取决于哪个方向,它是最接近于(如角被发现有3度,使零摄氏度) 。认为这是采取了半圆形和分裂成5个地区。
因此,任何先进的方向范围内的黄色范围( 0至5月22日& 157.5至180度)设置为0度。任何先进的方向下滑的绿色范围( 22.5至67.5度)设置为45度。任何先进的方向下滑的蓝色范围( 67.5至112.5度)设置为90度。最后,任何先进的方向范围内的红色范围( 112.5到157.5度)设置为135度。
第5步
在被称为边缘方向, nonmaximum制止目前适用。 Nonmaximum抑制是用来追踪沿边缘方向和制止任何像素值(套等于0 )这是不被认为是优势。这将让细线在输出图像。
第6步
最后,滞后是用来作为一种手段,消除条纹。裸奔是打破的边缘轮廓线的经营者造成的产量波动上面和下面的门槛。如果一个门槛, T1讯号适用于图像,并具有优势的平均强度相等的T1 ,然后由于噪声,将先进的情况下,逢低低于阈值。同样它也将延长超过阈值决策的优势看起来像一个虚线。为了避免这种情况,滞后使用2的门槛,高和低。任何像素的图像,其值大于表# t1推定为边缘像素,并标示为这种立即。然后,任何像素连接到这个边缘像素,并有一个值大于时刻还选定为边缘像素。如果您认为以下的优势,您需要一个梯度的时刻开始,但你不停止直到触及梯度低于表# t1 。
作者:比尔绿色( 2002 )
主页电子邮件
本教程假定读者:
( 1 )知道如何发展的源代码阅读栅格数据
( 2 )已经阅读我Sobel边缘检测教程
本教程将教你如何:
( 1 )实施Canny边缘检测算法。
导言
边的特点,因此,边界问题,根本的重要性在图像处理中。在图像的边缘地区,强度强的反差?猛增强度从一个像素的下一个。边缘检测的图像大大减少了大量的数据,并过滤掉无用的信息,同时保持重要的结构性能的形象。这也是我在索贝尔和拉普拉斯边缘检测教程,但我只是想再次强调这一点的,为什么您要检测的边缘。
的Canny边缘检测算法是众所周知的许多人视为最佳边缘检测。精明的意图是要加强许多边缘探测器已经在的时候,他开始了他的工作。他很成功地实现他的目标和他的思想和方法中可以找到他的论文“计算方法的边缘检测” 。在他的文件中,他遵循的标准清单,以改善目前的边缘检测方法。第一个也是最明显的错误率低。重要的是,发生在图像边缘不应错过的,没有任何反应,非边缘。第二个标准是,边缘点很好地本地化。换言之,之间的距离边缘像素作为探测器发现和实际边缘要在最低限度。第三个标准是,只有一个回应单一优势。这是第一次实施,因为并没有实质性的2足以完全消除的可能性,多反应的优势。
根据这些标准, Canny边缘检测器的第一个平滑的图像,以消除和噪音。然后认定的形象,以突出地区梯度高空间衍生物。该算法然后轨道沿着这些地区和抑制任何像素这不是在最高( nonmaximum制止) 。梯度阵列现在进一步减少滞后。磁滞用来追踪沿其余像素,但没有压制。磁滞使用两个阈值,如果规模低于第一道门槛,这是设置为零(发了nonedge ) 。如果是规模以上的高门槛,这是一个优势。如果震级之间的2阈值,那么它设置为零,除非有一条从这个像素一个像素的梯度上述时刻。
第1步
为了落实Canny边缘检测算法,一系列步骤必须遵循。第一步是筛选出任何噪音的原始图像在寻找和发现任何边缘。而且因为高斯滤波器可以用一个简单的计算面具,它是专门用于在Canny算法。一旦合适的面罩已计算,高斯平滑可以用标准的卷积方法。阿卷积掩模通常远远小于实际的形象。因此,该面具是下跌的形象,操纵一个正方形像素的时间。较大的宽度高斯面具,较低的是探测器的敏感性噪音。定位误差检测边缘也略有增加的高斯宽度增加。高斯遮罩使用我在执行下面显示。
第2步
经过平滑的形象,消除噪音,下一步就是要找到优势兵力,采取梯度的形象。的Sobel算子进行二维空间梯度测量的形象。然后,大约绝对梯度幅度(边缘强度)各点可以找到。 Sobel算子的使用对3x3卷积口罩,一个梯度估计在X方向(栏)和其他的梯度估计的Y方向(行) 。它们如下所示:
的规模,或EDGE强度,梯度近似然后使用公式:
| G | = | GX的| + |戈瑞|
第3步
寻找边缘方向是小事,一旦梯度在X和Y方向是众所周知的。然而,你会产生错误时sumX等于零。因此,在代码中必须有一个限制规定只要发生。每当梯度在x方向等于零,边缘的方向,必须等于90度或0度,取决于什么的价值梯度的Y方向等于。如果青的值为零,边缘方向将等于0度。否则边缘方向将等于90度。公式为寻找边缘方向是:
论旨= invtan (戈瑞/ GX的)
第4步
一旦边缘方向众所周知,下一步是与边缘方向为方向,可以追溯到在一个图像。因此,如果一个5x5像素图像对齐如下:
x x x x x
x x x x x
x x 1 x x
x x x x x
x x x x x
然后,可以看到看像素的“ A ” ,只有4个可能的方向时,描述了周围的像素- 0度(水平方向) , 45度(沿积极对角线) , 90度(垂直方向) ,或135度(沿负对角线) 。所以,现在的边缘方向已经得到解决纳入其中四个方向取决于哪个方向,它是最接近于(如角被发现有3度,使零摄氏度) 。认为这是采取了半圆形和分裂成5个地区。
因此,任何先进的方向范围内的黄色范围( 0至5月22日& 157.5至180度)设置为0度。任何先进的方向下滑的绿色范围( 22.5至67.5度)设置为45度。任何先进的方向下滑的蓝色范围( 67.5至112.5度)设置为90度。最后,任何先进的方向范围内的红色范围( 112.5到157.5度)设置为135度。
第5步
在被称为边缘方向, nonmaximum制止目前适用。 Nonmaximum抑制是用来追踪沿边缘方向和制止任何像素值(套等于0 )这是不被认为是优势。这将让细线在输出图像。
第6步
最后,滞后是用来作为一种手段,消除条纹。裸奔是打破的边缘轮廓线的经营者造成的产量波动上面和下面的门槛。如果一个门槛, T1讯号适用于图像,并具有优势的平均强度相等的T1 ,然后由于噪声,将先进的情况下,逢低低于阈值。同样它也将延长超过阈值决策的优势看起来像一个虚线。为了避免这种情况,滞后使用2的门槛,高和低。任何像素的图像,其值大于表# t1推定为边缘像素,并标示为这种立即。然后,任何像素连接到这个边缘像素,并有一个值大于时刻还选定为边缘像素。如果您认为以下的优势,您需要一个梯度的时刻开始,但你不停止直到触及梯度低于表# t1 。