-1

I need to detect the edges of an object (like a hand) which I know it is located in the center of the photo.

My most concern is the reliability of the result, (because I want to use it for commercial purposes), currently I am working with Canny detector, but I wanted to check if maybe there is better more reliable and faster method?

Any tip is much appreciated.

Nima
  • 969
  • 3
  • 10
  • 14

2 Answers2

1

This is a hard question to answer because "more reliable" is very context dependent. The context is very dependent on your image and how you are using the edges. In general, take solace in the fact that Canny is a great place to start because it focuses on edges at a specific scale (thus giving you some control over fine scale noise removal), and because it uses some hysteresis so that weak edges that are near strong edges are more likely to show up. In order to say what is "better" you will need to have an idea where your edges aren't performing.

That said, much of the computer vision literature has gone away from relying on edge maps for everything, so you might want to think about this too.

What are you using the edge maps for in the end?

Chris A.
  • 6,817
  • 2
  • 25
  • 43
  • Just to emphasize a "detail": if the background has edges, you may need some specialized algorithm to detect what edges are the ones that define your OoI – Dr. belisarius Jun 22 '11 at 22:01
  • My problem is to detect edges of an object such as a hand or a fruit which I know is in the center, but the object can be on variety of backgrounds that I don't have any prior knowledge of. but I can assume that broders of the object in the middle are symmetric, and they are either 4 straight lines or half circles. I am not sure if these information can be of any assistance ? I thought for the backup plan may be I can use some bounding box to eliminate background edges to some extent but this is not a good solution. – Nima Jun 22 '11 at 22:41
0

Instead of trying to detect edges, why don't you try to detect the object? If you know some properties of your object (e.g. it's brighter than the background/ it has a specific color/ its color is the color of the majority of pixels in the center 1/9th of the image), you can segment the image, and extract the edge of the object from the binary mask afterward - or you could use that as an excellent initial guess for a deformable model.

Jonas
  • 74,690
  • 10
  • 137
  • 177
  • my objects could have different textures and patters so I am not sure how could that work, I mean how can I distinguish the real edge from some simmilar pattern on the object? – Nima Jun 24 '11 at 15:31
  • If you know anything about the object, then you can perform a segmentation resulting in a binary image with ones wherever there's your object, and zeros everywhere else. The binary image has exactly one edge: that between the object and the background. – Jonas Jun 24 '11 at 15:56