2012-05-14 2 views
1

Мне нужно сделать «нечеткое» сравнение изображений в C#. Я использовал ImageMagick.NET для вещей в прошлом и знаю, что это хорошо для работы.Использование ImageMagick.NET для сравнения изображений

Там есть сравнить команды в Image Magick: http://www.imagemagick.org/script/compare.php

И есть сравнения (ссылка изображение) метод ImageMagick.NET однако, кажется, что это будет очень упрощено, так что нет никакого способа получения на многословном вывод.

Мне нужно уметь это получить, чтобы я мог сопоставлять изображения с использованием порога. Я что-то упустил - есть ли способ получить этот материал в ImageMagick.NET, если его еще нет? (Я не C++ dev длинным выстрелом), или я лаяю неправильное дерево?

ответ

3

Простите меня, если у меня нет вашего вопроса, но не будет IsImagesEqual или SimilarityImage работать?

IsImagesEqual возвращает «Нормализованная максимальная ошибка квантования для любого пикселя в изображении. Эта дистанционная мера нормализована до диапазона между 0 и 1. Она не зависит от диапазона красных, зеленых и синих значений на вашем изображении

Небольшая нормализованная средняя квадратная ошибка, доступная как изображение-> normalized_mean_error, предполагает, что изображения очень похожи в пространственной компоновке и цвете ".

Соответствующий метод в привязках .NET: Image.Compare, который принимает изображение и возвращает bool. Однако, если результат ложный - средняя ошибка (в соответствии с метрикой выше) задается в текущем экземпляре meanErrorPerPixel, normalizedMaxError и normalizedMeanError.

Не эти три показателя достаточно, чтобы дать вам результат вашего «нечеткого» сравнения?

+0

где вы узнали об этом? также, у Image нет этих свойств? meanErrorPerPixel, normalizedMaxError и normalizedMeanError - где я их люблю? – iwayneo

+0

Я посмотрел их из C/C++ API, но вы правы - эти свойства не были показаны, так как код (Image.h) показан здесь http://imagemagick.codeplex.com/SourceControl/changeset/view/34174 # 489191. Вам нужно будет добавить соответствующий код для этих привязок, чтобы использовать эту функцию или попросить сопровождающего сделать это за вас. Однако это должно быть довольно простое дополнение. Следуйте той же схеме, что и свойство Rows and Height, определенное в конце этого файла. – Ani

+0

И если вы его сами реализовали, предоставьте патч, чтобы сопровождающий мог добавить эту функцию ;-) – tobsen