简体   繁体   English

Android:OpenCv比较两个图像的问题

[英]Android : OpenCv comparing two images issue

I want to compare two image in percent in android , here is my codes 我想在android中以百分比比较两个图像,这是我的代码

Mat img1 = Highgui.imread("storage/external_SD/a.png");
Mat img2 = Highgui.imread("storage/external_SD/b.png");
MatOfKeyPoint keypoints1 = new MatOfKeyPoint();
MatOfKeyPoint keypoints2 = new MatOfKeyPoint();
Mat descriptors1 = new Mat();
Mat descriptors2 = new Mat();

//Definition of ORB keypoint detector and descriptor extractors
FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB); 
DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB);

//Detect keypoints
detector.detect(img1, keypoints1);
detector.detect(img2, keypoints2);  
//Extract descriptors
extractor.compute(img1, keypoints1, descriptors1);
extractor.compute(img2, keypoints2, descriptors2);

//Definition of descriptor matcher
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);

//Match points of two images
MatOfDMatch matches = new MatOfDMatch();
matcher.match(descriptors1,descriptors2 ,matches);

For example my method out put should be : 例如我输出的方法应该是:

Images is 90% same

But i dont know what should i do after matcher.match(descriptors1,descriptors2 ,matches); 但是我不知道在matcher.match(descriptors1,descriptors2 ,matches);之后matcher.match(descriptors1,descriptors2 ,matches);怎么办matcher.match(descriptors1,descriptors2 ,matches); method, can you please advise me ? 方法,请您告诉我吗?

As I remember method match() must return value of double or float . 我记得方法match()必须返回doublefloat值。 I did same thing with face comparison and I did (according to your case): 我对脸部比较做了同样的事情,并且我做了(根据您的情况):

double value = matcher.match(descriptors1,descriptors2 ,matches);

There are 2 similar questions around this. 围绕这有两个类似的问题。 Check it out. 看看这个。 Must be useful. 必须有用。 OpenCV filtering ORB matches OpenCV - Java - No match with 2 opposite images using DescriptorMatcher OpenCV过滤ORB匹配 OpenCV-Java-使用DescriptorMatcher与2个相对的图像不匹配

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM