I would like to implement edge detectors for creating a feature vector for archeological signs. Which are best features, algorithms to retrieve? That could be loaded in a Support vector machine for classification.

If there are in the image only signs with a uniform background it's better converting an image in a binary image and calculate convexHull, solidity, eccentricity, elongation of the archeological signs. Then, what i do? I insert these data in a vector and put every vector of every image in a Support Vector Machine for training?

How can i measure "distance", similarities among images?

  • 2
    $\begingroup$ What do you mean archaeological signs? $\endgroup$
    – Spacey
    Jan 14, 2013 at 15:38

1 Answer 1


There is a difference between edge detection and feature detection, which is usually a corner detection (e.g. Harris corner detector), blob detection or even region detection (e.g. MSER).

Once the features are detected in your image, they are described in some way. For point features (corners), there are many different descriptors.

I think the simplest yet powerful one is simply taking a patch around the detected feature location. The patch can be quite large and should be rotated in the direction of dominant orientation (for rotational invariance).

The feature vector can consist of just horizontal and vertical image gradients. For a 64 by 64 pixel patch, this would lead to 4096 dimensional vector. This is quite large, but can be effectively reduced by PCA (Principal Component Analysis). This is quite slow but provides good quality and robustness of the descriptor comparable to SIFT or SURF descriptors.

The SURF descriptor is based on Haar wavelet and is also quite easy to implement - it can produce smaller descriptor and hence PCA is not necessary.

You can take a look on this paper comparing various feature descriptors.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.