android - Degree of similarity between two images in opencv -


i'm trying calculate degree of similarity between 2 images gives me 0 every time.

this code:

public class  templatematching{ static void analyze(mat image, matofkeypoint keypoints, mat descriptors){     detector.detect(image, keypoints);     extractor.compute(image, keypoints, descriptors); } static featuredetector detector= featuredetector.create(featuredetector.orb); static descriptorextractor extractor = descriptorextractor.create(descriptorextractor.brief);            final static descriptormatcher matcher = descriptormatcher.create(descriptormatcher.bruteforce_hamming); static void ana(mat image, matofkeypoint keypoints, mat descriptors){     detector.detect(image, keypoints);     extractor.compute(image, keypoints, descriptors); } static matofdmatch filtermatchesbydistance(matofdmatch matches){     list<dmatch> matches_original = matches.tolist();     list<dmatch> matches_filtered = new arraylist<dmatch>();      int dist_limit = 30;     // check matches distance , if passes add list of filtered matches       log.d("distfilter", "org size:" + matches_original.size() + "");     (int = 0; < matches_original.size(); i++) {         dmatch d = matches_original.get(i);          if (math.abs(d.distance) <= dist_limit) {             matches_filtered.add(d);                         }     }     log.d("distfilter", "fil size:" + matches_filtered.size() + "");      matofdmatch mat = new matofdmatch();     mat.fromlist(matches_filtered);     return mat; } public int  comparer(mat frame,mat test) {     // info store analysis stats     int distance=0;     matofkeypoint keypoints_o = new matofkeypoint();     matofkeypoint keypoints_t = new matofkeypoint();     mat descriptors_o = new mat();     mat descriptors_t = new mat();     // detect key points , compute descriptors inputframe       ana(frame, keypoints_o, descriptors_o);     ana(test, keypoints_t, descriptors_t);     // compute matches     matofdmatch matches = new matofdmatch();     matcher.match(descriptors_o, descriptors_t, matches);     // filter matches distance     matofdmatch filtered = filtermatchesbydistance(matches);     // if count of matches ok, apply homography check     distance = (int) filtered.size().height;          return (distance);  } 

the distance 0 every time. if give same image, gives me 0 distance.