Attention! This forum will be made read-only by Dec-20. Please migrate to https://forum.opencv.org. Most of existing active users should've received invitation by e-mail.
Ask Your Question

Revision history [back]

You may be interested in a corner descriptor called PAS (Pair of Adjacent Segments). It can be computed using Canny edges and it is invariant to translation and scale changes. See the paper for details and how to use it for object detection:

For edge-based object recognition and 6-DOF pose estimation see the papers:

  • M. Ulrich, C. Wiedemann, and C. Steger. CAD-based recognition of 3d objects in monocular images. International Conference on Robotics and Automation (ICRA), 2009.
  • M.Y. Liu, O. Tuzel, A. Veeraraghavan, R. Chellappa, A. Agrawal, and H. Okuda. Pose estimation in heavy clutter using a multi-flash camera. IEEE International Conference on Robotics and Automation (ICRA), 2010.

If you don't need 6-DOF pose and you need just recognize and localize an object in an image then take a look at the Line-2D algorithm:

Its implementation is available in OpenCV in the objdetect module. It uses orientations of gradients on a boundary of an object to create Line-2D templates so it is essentially recognition by silhouettes.