Использование ImageMagick.NET для сравнения изображений
Мне нужно сделать "нечеткое" сравнение изображений в C# - я использовал ImageMagick.NET для вещей в прошлом и знаю, что это хорошо для работы.
В Image Magick есть команда сравнения: http://www.imagemagick.org/script/compare.php
И в ImageMagick.NET есть метод Compare (ссылка на изображение), однако кажется, что он будет значительно упрощен, поэтому нет возможности получить подробный вывод.
Я должен быть в состоянии достигнуть этого, чтобы я мог сопоставить изображения, используя порог. Я что-то упустил - есть ли способ поместить это в ImageMagick.NET, если его еще нет? (Я далеко не разработчик C++) или я лаю не на том дереве?
1 ответ
Извините, если я не получу ваш вопрос, но не сработают ли IsImagesEqual или SimilarityImage?
IsImagesEqual возвращает "Нормализованную максимальную ошибку квантования для любого отдельного пикселя в изображении. Эта мера расстояния нормализуется в диапазоне от 0 до 1. Она не зависит от диапазона значений красного, зеленого и синего цветов в вашем изображении.
Небольшая нормализованная среднеквадратичная ошибка, доступная как image->normalized_mean_error, позволяет предположить, что изображения очень похожи по пространственному расположению и цвету."
Соответствующим методом в привязках.NET является Image.Compare, который берет изображение и возвращает логическое значение. Однако, если результат ложный - средняя ошибка (в соответствии с метрикой выше) устанавливается для средних экземпляров meanErrorPerPixel, normalizedMaxError и normalizedMeanError.
Разве этих трех показателей недостаточно, чтобы дать вам результат вашего "нечеткого" сравнения?