1 | initial version |
I assume your are looking to get similar images. Hereby, I would not go into edge-detection for image similarities. Imho the typical approach would be a kind of "Bag (visual) of Words (BoW)" approach. It works as follows:
OpenCV provides a BoW class which basically does step 1-3 (you only need to chose which keypoint-detector and descriptor and matcher you need). If you are more interested why and how BoW works in detail, see for example http://people.csail.mit.edu/fergus/iccv2005/bagwords.html . If you google around you will probably also find examples for the complete realization with OpenCV.
Another approach which covers step 1-3 is to compute immediatly an image-descriptor without computing local features and cluster them. Maybe the GIST-Descriptor is worth looking into it: http://people.csail.mit.edu/torralba/code/spatialenvelope/ . Good luck!