[英]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()
必须返回double
或float
值。 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.