0
votes

I'm using OpenCV ORB for checking whether two images are similar or not. ORB is efficient and gives me best results most of the time. But, in some cases, ORB's output is not satisfactory. I'm using distance parameter, got after KnnMatch, to identify similar images.

My logic - If the distance value range starts from a smaller value, then the images are similar.

My code is available in this link

Image1

Image2

Image3

After comparison, the result says that Image2 and Image3 are similar to Image1

Should I change this distance depended logic? Will an approach, combined with machine learning and OpenCV ORB, be a solution?

1

1 Answers

0
votes

I have done a project similar to yours, and I also experienced issues with ORB. ORB is good for matching key points, and I have found it to be relatively good at that while using it the same way you have, sorting by distance.

However, if you want to determine how similar images are instead of just the keypoints of the image, then instead of counting how many keypoint matches you have in images, try to compare the distance(s) between different keypoints on the same image to the distance(s) between the corresponding points on the other image.