im, пишу программу для сравнения двух изображений друг с другом на основе цвета и им, используя алгоритм эвклидовой дистанции, однако, когда я запускаю его и пропускаю в двух изображениях, я получаю одно расстояние, а затем, когда я проходил мимо то же изображение, но наоборот, я получаю совершенно другой набор результатов.Евклидово расстояние, возвращающее странные результаты
Это нормально или должны быть одинаковыми ответы?
Оператор Я использую для вычисления евклидова расстояния является:
distance = (int) Math.sqrt( (rgb1.getR()-rgb2.getR())^2
+ (rgb1.getG()-rgb2.getG())^2
+ (rgb1.getB()-rgb2.getB())^2
);
Евклидово расстояние (или, если на то пошло, любая функция расстояния), должно быть симметричным, так что действительно ваши результаты кажутся странными. Однако вам нужно отправить более подробную информацию для любого, кто сможет помочь. Какой код вы используете для расчета расстояния? –
Вам нужен весь код или просто код эвклидовой дистанции? –
Начнем с кода расстояния - мы увидим, достаточно ли для решения проблемы. –