Reputation: 47
I am fairly new in image processing. For making a Content Based Image Retrieval(CBIR) system i have to match image feature information of the query image with that of the images in the image database to find images from the database that are same or similar to the query image. I have selected Sobel Edge Detection as feature for now.
I can extract edge information from a subject image in the form of an edge-image by Sobel edge detection algorithm. The result is a black picture with white pixels representing edges of the original image. (These descriptions might seem very basic and unnecessary but I want to clarify exactly what amount of data I have in hand)
I have to compare this edge information of two images to find out how similar/dissimilar they are. Actually I need to compare the query image with all the images of the database in this manner to find similar images and how similar they are to the query image. I need a numeric measurement to tell the distance between two images after comparison (like manhattan distance/chi square distance etc).
So, after extracting the edge detection by applying the Sobel Operator, how should I 'compare' two edge images? Should I make a histogram from the edge image and calculate difference between the two histograms? Or should follow some other method?
I need suggestion. Every paper I find online describes the same thing again and again, what is edge detection and how to do it. I can't find any useful exact suggestion on what I should do after I detect the edges to use in a CBIR system. And also, any software/language specific answer is not going to be useful for me. I need an algorithm and I will implement it myself.
Upvotes: 1
Views: 1617
Reputation: 46
On your images first apply contorlet transform and extract the mean and variance values which becomes the edge features of your image then on these edge features you apply any similarity check test, best one is the Euclidean distance metric.
Upvotes: 3