Мне нужно сравнить два изображения, чтобы найти равенство.Я много искал об AR и openCV.Уже пройденный сравните два изображения в образцах Android и Tried OpenCV.С OPENCV бесплатно можно использовать только ORB
, и он будет сравнивать изображения в GrayScale, и это не то, что мне нужно.
PS: - Мне нужно 4 изображения объекта в моем приложении.Поэтому, если пользователь сканирует реальный объект с помощью камеры, тогда мне нужно выяснить, соответствует ли объект на этом отсканированном изображении любому из объектов на этих 4 изображениях или нет.Я знаю, что это не по теме, а также слишком широко в соответствии со стандартом SO, но мне действительно нужна помощь по этому вопросу.
РЕДАКТИРОВАТЬ: - Попробовав несколько алгоритмов из github, я наткнулся на Этот проект .И результаты вполне удовлетворительные.Я уже проверил это с несколькими шаблонами.Я застрял здесь с одной проблемой.Мне нужно показать пользователю, найден объект или нет (логическое значение).Как я могу определить это, если объект обнаружен правильно или нет?Поместив код финального шага ниже.
Point point1=new Point(sceneCorners.get(0,0));
Point point2=new Point(sceneCorners.get(1,0));
Point point3=new Point(sceneCorners.get(2,0));
Point point4=new Point(sceneCorners.get(3,0));
Imgproc.line(rgb, point1, point2, new Scalar(0, 255, 0), 4);
Imgproc.line(rgb, point2, point3, new Scalar(0, 255, 0), 4);
Imgproc.line(rgb, point3, point4, new Scalar(0, 255, 0), 4);
Imgproc.line(rgb, point4,point1, new Scalar(0, 255, 0), 4);
, 2 точки находятся на каждом обнаружении.Как я могу определить, что он обнаружил объект или нет?Некоторые вещи, которые я уже попробовал:
1. Проверьте прямоугольник, сформированный с этими точками: - Это может не сработать.
Какой рекомендуемый подход для решения этой проблемы.Я искал большую часть каждого образца на github, но не нашел решения для этого.Пожалуйста, дайте мне знать, какой подход я должен следовать?