Talk:Canny edge detector

message: Some more explanation might go into how the Gaussian filter is computed.  I wrote a short matlab script for creating a Gaussian filter.  I managed to reverse engineer my output to look like this one (I multiply my answer by 159, then round to the nearest integer, resulting in the integer matrix in the article).  Otherwise the one given here seems magical.  I have extensive training in math, which probably made it easier to figure it out.  Others might not be so lucky.  Also, my Gaussian filter that best approximates the one in the article is obtained using sigma=1.4, not sigma=0.4 as it says in the article.  Either the article is using different conventions for sigma, or there is an error (I've checked my script a few times to make sure the error isn't mine).  If you are using different conventions, they should be explained.  If it is an error, it should be corrected.
Perhaps a separate article on Gaussian masks is warranted.  I understand the idea behind the Gaussian mask, but I have no expertise, so I can only make guesses as to how it is actually used in practice.  What rounding conventions are used?  How does one determine what size of mask to use?  I don't know the answers to these questions, and I think they are relevant.  There is an article on Gaussian filters, but it sheds little to no light on their use in image processing.
Mathmoose (talk) 02:24, 1 October 2008 (UTC)
thread_title: Gaussian Mask 

message: This section does not seem to fit in an article on the Canny edge detector. In a more general article on edge detection, sure - but not here.
Xomex (talk) 00:34, 12 March 2008 (UTC)
thread_title:  Differential Edge detection 

message: just noticed that there already is an article Canny edge detector which redirects to Canny.  I propose to make it the other way: redirect "Canny" to "Canny edge detector" because
* Canny is not a good name for this article.  Although the method described here sometimes is colloquially refered to as "Canny", it is rather the name of the inventor.  If I was Canny, I would expect to see a nicly written article about myself.  "Canny edge detector" or even "Canny's edge detector" is more descriptive given the content of the article.
* Changing the title means that we can get rid of the disambiguation stuff in the beginning of the article.
--KYN 22:36, 31 July 2007 (UTC)
replies: text: Agree with move. Iknowyourider (t c) 05:28, 1 August 2007 (UTC)
thread_title:  Proposal to change to "Canny edge detection" 

message: Did some edits in the article with the following in mind:
* Removed comment on second derivative is less affected by noise in the "Noise reduction" section.  Even if it true (?) it does not appear to be part of the story told in the article.
* Changed "mask" to "filter".  Mask is not described in WP in the meaning of a filter.  Also, filter is already used at several places in the article: better to be consistent.
* Attempted to figure out what to do with that compvis navigation bar because the thing ruins the layout of the page in ie7  —Preceding unsigned comment added by 192.91.171.42 (talk) 01:47, 10 June 2009 (UTC)
thread_title:  Recent edits 

message: --Volyrkr (talk) 20:59, 20 August 2010 (UTC)
replies: text: Nope. As mentioned above, the gradient is perpendicular (90 degrees off) to the edge direction. You can think of the gradient as the direction of change. --217.111.33.2 (talk) 15:30, 12 November 2010 (UTC)
replies: text: Hm... I think that Volyrkr is right. Look at the image: the yellow edges themselves are roughly horizontal which means the direction of the change is 90 degrees, not 0. The blue edges are roughly vertical which mean a direction of change of 0 degrees. It actually confused the hell out of me because I was just implementing the algorithm with the colors you described and getting a very different color map. I'm going to change it. Also, if you could give us the gaussian you started with that would be nice. Think of it as a citation. Armence (talk) 15:10, 11 February 2011 (UTC)
thread_title:  Coloured edge direction image 

message: what is really meant is probably "to detect a wide range of kinds of edges in images" --84.177.81.254 (talk) 09:43, 25 May 2011 (UTC)
thread_title:  "to detect a wide range of edges in images" 

message: In this context, is it assumed that there's no ambiguity in the original image as to what is an edge and what is not? What are the real edges of a cloud, or of a diffuse shadow? --84.177.81.254 (talk) 09:50, 25 May 2011 (UTC)
thread_title:  "the algorithm should mark as many real edges in the image as possible" 

message: Why is there an image of a corner detector here? Why is it relevant when talking about Canny?  — Preceding unsigned comment added by 128.100.3.68 (talk) 17:45, 9 February 2012 (UTC)
thread_title:  Corner detector? 

message: The introductory section of the article, Development of the Canny Algorithm, says:
"The optimal function in Canny's detector is described by the sum of four exponential terms, but can be approximated by the first derivative of a Gaussian."
But this function is never defined.  Since it is probably of central importance to the Canny edge detector, a description of the function should be added.  — Preceding unsigned comment added by 202.63.38.34 (talk) 07:34, 23 September 2012 (UTC)
thread_title:  Article is incomplete 

message: After studying the original Canny paper in some detail, i'm finding it very difficult to translate the original steps directly into the ones described in this article.
From what i gather, the smoothing step using a Gaussian kernel is actually not necessary if the edge detection operator is a 1st order Gaussian derivative.
Also, nowhere in the paper does Canny mention that a Sobel kernel should be used to detect edges. In fact he goes to great lengths to show that the Gaussian Derivative is a close approximation to the optimal detector (at least for step edges). The relevant formulas in the paper are (45) and (46):
G_n = \frac{\partial G}{\partial \mathbf{n}} = \mathbf{n} \cdot \nabla G
\mathbf{n} = \frac{\nabla \left( G \star I \right)}{\left| \nabla \left( G \star I \right) \right|}
The words nonmaximum suppression actually only appear twice in the paper and they are not defined. The closest thing to a definition i can find is formula (47) where the 2nd order directional derivative is searched for zeros:
\frac{\partial^{2}}{\partial\mathbf{n}^{2}}G\star I=0
 
This is of course analogous to what is described in the wiki section, but i can't help but feel that some interpretation has taken place. Not necessarily a bad thing, mind, but since the method is attributed solely to Canny i think the article should reflect the content of the original paper more closely.
This article seems more like a description of the "popular" version of the Canny detector, rather than the actual one.
It's a shame since there's quite a lot of ingenuity in the paper that doesn't see the light of day.  — Preceding unsigned comment added by 129.94.242.38 (talk) 13:09, 1 May 2013 (UTC)
thread_title:  Article doesn't reflect the original paper 

message: There is some interesting discussion (with links to papers) on automatic calculation of low and high thresholds for the canny operation here:
http://stackoverflow.com/questions/4292249/automatic-calculation-of-low-and-high-thresholds-for-the-canny-operation-in-open
It would be great if some of these ideas were integrated into the article rather than it just saying "It is difficult to give a generic threshold that works well on all images. No tried and tested approach to this problem yet exists."  — Preceding unsigned comment added by Cancan101 (talk • contribs) 04:37, 29 April 2014 (UTC)
thread_title:  automatic calculation of low and high thresholds for the canny operation 

message: In the above titled subsection, it says "An edge in an image may point in a variety of directions, so the Canny algorithm uses four filters to detect..." and then goes on to name 3 filters. But the meaning is that one of these edge filters is applied and then the edge angle is quantised to 4 directions. Arguably it is in the next subsection where 4 filters are used, well, one filter with four orientations. This is not very clear at all: the reader sees 4 then 3 and is thinking where is the missing one ? Using the term "operator" afterwards does not improve the clarity. Kegon (talk) 19:55, 30 March 2017 (UTC)
thread_title:  Finding the intensity gradient of the image 

message: The example in section "Walkthrough of Canny edge detection" is not very informative because the last 3 steps look the same. The difference between step 3 and 4 is not easy to find, except that one looks darker than the other. --ngocminh.oss (talk) 16:01, 24 April 2021 (UTC)
thread_title:  Walkthough not informative