I read up on the Perwitt operator and it detects two types of edges (vertical and horizontal). The Sobel operator on the other hand does the same as the Perwitt except that the masks are not constant and could be dynamically adjusted. Why do the Sobel and the Perwitt matrices compute horizontal and vertical gradients?

  • $\begingroup$ I don't understand what you're asking, sorry. What do you mean by "Why do [some matrices do some things]?" Matrices aren't living things: they don't have desires and feelings. Do you mean how do the matrices do what they do? Why we use them to do that? Something else? $\endgroup$ – David Richerby May 24 '16 at 20:32
  • $\begingroup$ I'm asking why do the Sobel and the Perwitt matrices compute horizontal and vertical gradients? I do not understand why $\endgroup$ – Mike Louis May 24 '16 at 20:40
  • $\begingroup$ Thank you for your feedback. But why are they detecting 8 edges? $\endgroup$ – Mike Louis May 24 '16 at 23:56
  • $\begingroup$ Any insight is fine. I did read on wiki but i was unclear as to why they compute horizontal and vertical edges. So i decided to come to cs stackexchange. $\endgroup$ – Mike Louis May 25 '16 at 0:33
  • $\begingroup$ Ok, so you want to know "why" someone uses edge detection, why someone uses Sobel, what for or how Sobel detects the edges or why kernel looks like this? Maybe part with derivatives is confusing? When you define the goal it will be easier to understand where is the problem and answer instead of rewriting the whole chapter from book (not helpful to you) we would exatcly help you with confusing part. This will require less work on everybodys side, and the answer will be actually useful. Do you know the basics behind edge detection, like in 1D how and why it works? $\endgroup$ – Evil May 25 '16 at 1:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.