Talk:Sobel operator

message: Personally, I would prefer to see this referenced from a journal paper or something rather than a website, and if it is to be included then there should be some explanation of how it works.  —Preceding unsigned comment added by 137.219.45.107 (talk) 05:57, 28 March 2011 (UTC)
replies: text: It appears to be original research, and thus should not be in Wikipedia. Wiki sez:
Wikipedia articles must not contain original research. The term "original research" (OR) is used on Wikipedia to refer to material—such as facts, allegations, ideas, and stories—for which no reliable published source exists.[1] That includes any analysis or synthesis of published material that serves to advance a position not advanced by the sources.
Which is what the Costella Kernel appears to be. 67.215.48.194 (talk) 14:38, 20 July 2011 (UTC)

text: The "Costella operator" idea and an accompanying citation of a self-published paper have been added to Roberts Cross and Prewitt operator by the same user, User:DrJohnPCostella, apparently the author of the self-published paper.  This seems to violate WP:ORIGINAL, WP:SELFPUBLISH, and WP:SELFCITING.  I am removing these references on all those pages and linking to this discussion on the relevant talk pages. — Control.valve (talk) 18:35, 12 September 2011 (UTC)
thread_title:  Costella Kernel 

message: I'm a university AI student who's done a module in Computational Vision, and still I don't understand the first line: "a discrete differentiation operator solving for the 1st derivatives".  What does the "solving" mean?
:Well, I think the "solving" is in the algebraic sense, as in "Solve the following equation for x" which basically means "Find the value of x", but I agree that that was a horrible way to start the article, useful only to seasoned mathematicians. I've tried to add a more "general audience" explanation of what the operator actually does. - IMSoP 22:30, 16 December 2005 (UTC)
thread_title:  "Solving" 

message: First we get a squared matrix with a 3x1 matrix multiplied by a 1x3 row (so the times operator \times)
:\quad \quad
\begin{bmatrix} 
+1 & +2 & +1 \\
0 & 0 & 0 \\
-1 & -2 & -1 
\end{bmatrix} = \begin{bmatrix} 
+1 \\
0 \\
-1  
\end{bmatrix} \times \begin{bmatrix} 
1 & 2 & 1
\end{bmatrix}
Then we convolve the squared matrix with the input image to get another image, in this case the Gy derivative  (and the convolution operator  *  is used):
:\mathbf{G}_y =\quad
\begin{bmatrix} 
+1 & +2 & +1 \\
0 & 0 & 0 \\
-1 & -2 & -1 
\end{bmatrix} *  \mathbf{A} = \begin{bmatrix} 
+1 \\
0 \\
-1  
\end{bmatrix} \times \begin{bmatrix} 
1 & 2 & 1
\end{bmatrix} * \mathbf{A}
And, because they are separable in both x and y directions, we can write it as:
:\mathbf{G}_y =\left(\begin{bmatrix} 
+1 \\
0 \\
-1  
\end{bmatrix} *  \mathbf{A} \right) * \begin{bmatrix} 
1 & 2 & 1
\end{bmatrix} 
:Comment--A person with some math & computer science background will see that the operator used for multiplication of the two vectors of length n is that of outer product not inner product nor matrix nor vector arithmetic.  Both an inner and matrix arithmetic product would effectively reduce the dimensionality to a single scalar for a couple of these, but instead an outer product that increases the dimensionality from two n-length vectors to a n by n square matrix is used, where n=3.
:Whereas the language explaining the application of the filter was nicely simplified, the formation of the filters still requires this additional characterization that outer products are being used to do it. Could someone make this addition to the article? Oldspammer (talk) 19:27, 16 February 2012 (UTC)
thread_title:  Technical Details - Convolution operator get confuse with the times operator 

message: At the bottom of the page, it states that the Sobel operator does not have perfect rotational symmetry. I read this as not being perfectly isotropic. I agree with that. Scharr's attempt to improve this, (I don't know from what time frame), is 
\begin{bmatrix} 
+3 & +10 & +3 \\
0 & 0 & 0 \\
-3 & -10 & -3 
\end{bmatrix}
\begin{bmatrix} 
+3 & 0 & -3 \\
+10 & 0 & -10 \\
+3 & 0 & -3 
\end{bmatrix}
. In literature, I even found another operator actually called the Isotropic Operator, which equals the kernels 
\begin{bmatrix} 
+1 & +\sqrt{2} & +1 \\
0 & 0 & 0 \\
-1 & -\sqrt{2} & -1 
\end{bmatrix}
\begin{bmatrix} 
+1 & 0 & -1 \\
+\sqrt{2} & 0 & -\sqrt{2} \\
+1 & 0 & -1 
\end{bmatrix}
 but also gives disappointing non-isotropic results.
Well, In April of 2008, I did a research for the most isotropic operator, as part of the course Image Processing at Utrecht University. Here I considered the generalized operator 
\begin{bmatrix} 
+a & +b & +a \\
0 & 0 & 0 \\
-a & -b & -a 
\end{bmatrix}
\begin{bmatrix} 
+a & 0 & -a \\
+b & 0 & -b \\
+a & 0 & -a 
\end{bmatrix}
 where I limited the search space to one degree of freedom where 2a + b = 1\ . Though I have no formal proof, I did found that the operator with a = \tfrac{1 - \sqrt{\tfrac{1}{2}}}{2}, b = \sqrt{\tfrac{1}{2}} gives equal rotational symmetry for all multiples of 45 degree (which is an improvement on both Sobel or Isotropic operators which are rotationally symmetric for all multiples of 90 degrees). The results look far more pleasing to the eye as the Sobel or Isotropic filters, and the rotational symmetry is nearly indistinguishable from prefect isotropy. --Zom-B (talk) 22:49, 7 May 2009 (UTC)
replies: text: Can you please explain to me what the meaning of rotational symmetry is in this context? —Kri (talk) 17:42, 14 July 2011 (UTC)
thread_title:  Scharr not the ultimate solution 

message: Djexplo (University of Twente): I have tested some first and second order derivatives kernels of size 3x3 and 5x5, including Sobel and Scharr. Scharr outperforms Sobel in rotational invariance, but Scharr is only one solution for a fixed image scale (Corresponds to a truncated Gaussian derivative kernel with a certain sigma). If you still want better rotational performance you can better switch to 5x5 derivative schemes, see my short paper: http://www.k-zone.nl/Kroon_DerivativePaper.pdf  —Preceding undated comment added 15:07, 23 December 2009 (UTC)
thread_title:  Scharr not the ultimate solution 2 

message: It's not correct to say that the gradient's direction can be computed as arctan(Gy/Gx). arctan returns an angle between -pi/2 and pi/2, not between -pi and pi as needed in most cases. (Obviously, this happens because information on the correct quadrant is only present in the signs of Gy and Gx, and that is lost in the division). Commonly, a two-argument function atan2(Gy, Gx) is used instead, which uses sign information and thus returns an angle between -pi and pi, as desired. 134.36.37.145 (talk) 15:54, 15 February 2011 (UTC)
thread_title:  arctan versus atan2 

message: The following statement appears in the article "It turns out that the derivatives at any particular point are functions of the intensity values at virtually all image points." Since the derivative, by its nature, is a local property, some more explanation would be nice (perhaps an explanation of the assumptions mentioned earlier in the paragraph).  — Preceding unsigned comment added by Emchristiansen (talk • contribs) 08:38, 16 April 2011 (UTC)
thread_title:  Technical detail: A statement from the article need explanation 

message: Can someone please explain to me what rotational symmetry means? It says in the article that the Sobel operator "does not have perfect rotational symmetry", but it doesn't say what that actually means. If you answer, please also notify me at my talk page. —Kri (talk) 12:46, 14 July 2011 (UTC)
replies: text: Rotational symmetry for edge-detectors means that they react the same to an edge regardless of its angle.  "React the same" means slightly different things depending on the form of the output of your edge detector, but for example if you compute gradient vectors, the computed magnitude should be the same whether the edge is at 0°, 20°, 45°, or 90°.  This is not always the case for edge detectors.  A good test image for rotational symmetry of an edge-detector is a circular disk of uniform-intensity bright pixels on a uniform-intensity dark background.  The detected edge should be a uniform-intensity (or width, or something equivalent, again depending on the output format of your detector) bright circle.  Thresholding the magnitude of the gradient computed by the Sobel operator, for example, will produce a more uniform edge response close to the top, bottom, left, and right sides of the circle compared to the portions between them. — Control.valve (talk) 15:42, 14 September 2011 (UTC)
thread_title:  What does "rotational symmetry" mean? 

message: I think this page should be divided into two pages since it explains both the Sobel operator in general and also how to compute image derivatives in different ways. The latter is not covered by any wiki page as far as I can find.  — Preceding unsigned comment added by The Code Blitzer (talk • contribs) 15:56, 21 June 2014 (UTC)
thread_title:  Dive topic into two pages 

message: If this operator is used to generate a new image, given that pixel values in images are usually limited in range (e.g. 0 to 255), it would be important to know the maximum value this operator yields in order to scale down the result by this factor.
So, is the maximum value of this operator known?  I found out through an example and some (non-extensive) mathematical analysis that it is somewhere between \sqrt{20} (4.47) and \sqrt{28} (5.29) times the pixel range, but I couldn't determine the exact value nor find information about it online.
--Cousteau (talk) 09:52, 1 August 2016 (UTC)
thread_title:  Maximum value 

message: ::Sobel kernels can be decomposed as the products of an averaging and a differentiation kernel [...] Furthermore, the two discrete filters described above are both separable: {\begin{bmatrix}1&0&-1\\2&0&-2\\1&0&-1\end{bmatrix}}={\begin{bmatrix}1\\2\\1\end{bmatrix}}{\begin{bmatrix}1&0&-1\end{bmatrix}}={\begin{bmatrix}1\\1\end{bmatrix}}*{\begin{bmatrix}1\\1\end{bmatrix}}{\begin{bmatrix}1&-1\end{bmatrix}}*{\begin{bmatrix}1&1\end{bmatrix}}
::and the two derivatives Gx and Gy can therefore be computed as \mathbf {G} _{x}={\begin{bmatrix}1\\2\\1\end{bmatrix}}*\left({\begin{bmatrix}1&0&-1\end{bmatrix}}*\mathbf {A} \right)\quad 
::[...] This factors similarly: {\begin{bmatrix}3&10&3\end{bmatrix}}={\begin{bmatrix}3&1\end{bmatrix}}*{\begin{bmatrix}1&3\end{bmatrix}}
The article emphasises two properties: a) that the 9-element kernel is the matrix product of two 3-element kernels; and b) that each 3-element kernel is the convolution of two 2-element kernels. What is the relevance/significance of property (b)? Cesiumfrog (talk) 23:39, 4 September 2016 (UTC)
thread_title:  Separability and factorisation 

message: The Hast article (citation [9]) does not seem to be notable, it is from 2014 and only has 3 citations according to the linked page.  — Preceding unsigned comment added by 213.16.80.50 (talk) 15:14, 17 March 2017 (UTC)
replies: text: I'm assuming that you are using the real world meaning of "notable" (not the 2nd Wiki meaning which is not applicable here). There is no rule that references have to be notable. The main most closely related rule is that if the content which cited it is challenged or is likely to be challenged, it must be referenced by a source which meets wp:rs criteria.  Beyond that, unless the reference has other more serious problems, it's mainly a matter of editorial discretion. North8000 (talk) 16:53, 17 March 2017 (UTC)
thread_title:  Hast citation 

message: The article states that Farid & Simoncelli's filters are not constrained to be numerically consistent, while Scharr's filters are. I was not able to find out what that means. Maybe this needs to be clarified in the article to highlight the difference between the two.  — Preceding unsigned comment added by 176.199.143.179 (talk) 20:45, 25 March 2019 (UTC)
thread_title:  What does "numerically consistent" mean? 

message: I believe some define the Sobel operator differently in the matter of the sign. Namely some define the operator as Gx=-Gx and Gy=-Gy. The effect is that the direction of the gradient now points in the opposite direction. Can someone please make an amendment to the article to make this point.  In the literature I have seen it not clear what is the distinction between the direction of the edge and the direction of the gradient.  From my understanding I do believe that the gradient direction is perpendicular to the edge. Namely the direction of the edge is parallel to the edge. Would someone please clarify this matter.  — Preceding unsigned comment added by Macadamiaexpress (talk • contribs) 22:27, 27 February 2020 (UTC)
thread_title:  Sign and Direction 

message: It was actually Gary M Feldman, not the linked Gary J Feldman. Dougf613 (talk) 04:16, 12 June 2023 (UTC)
thread_title:  Wrong Gary Feldman linked  

message: I have tagged this article and Irwin Sobel with a merge tag. The Irwin Sobel article is just three sentences, cited to a primary source and a directory profile, and as such the notability of the topic is in question, in spite of having an image processing operator named after him.
I suggest moving the two sentences about the Sobel operator to this article and redirecting Irwin Sobel here. There just isn't enough information about Irwin Sobel to merit a standalone article. ~Anachronist (talk) 22:27, 5 September 2023 (UTC)
replies: text: * So you're judging the entire potential of a bio article by its current state?   Do you really think he did nothing after the '60s? Andy Dingley (talk) 22:46, 5 September 2023 (UTC)
replies: text: * Sorry, the state of the article after you've started pruning it to make your point. Andy Dingley (talk) 22:48, 5 September 2023 (UTC)
thread_title:  Merge proposal 

message: The sign for the x derivative is currently reversed in the “formulation” section, but not in other parts of the article. In the revision history I see this being fixed and reverted over and over again. I will fix it again, but have no hopes another anonymous user is  it going to revert it to be wrong again.
The correct sign for the x derivative has positive values on the left, negative ones on the right. For the y derivative it has positive values on top, negative ones on the bottom (with top and left being smaller indices).
This is the formulation used for the convolution, as it is applied in the article. Some libraries and books use correlation instead of convolution, and therefore define the operator mirrored.
One can see that the signs are correct by applying the operator to a ramp image, the derivative will be positive for a positive ramp (increasing in value to the right or bottom). crisluengo (talk) 14:59, 5 February 2024 (UTC)
replies: text: I have read Sobel’s text explaining his operator, and now understand why his definition differs from the sensical one. I have added this explanation to the “formulation” section, hopefully this now puts to rest the sign issues. crisluengo (talk) 15:38, 5 February 2024 (UTC)
thread_title:  Operator sign