ImageMagick dll и Exe возвращают два разных значения для сравнения изображений RMSE

Я использую ImageMagick с версией 7.0, установленной на моей машине. Для сравнения RMSE для приведенного ниже ввода CLI я получаю некоторые значения, которые отличаются, когда я использую dll в своем коде С#.

CLI-код:

magick.exe compare -metric RMSE -subimage-search "image1.jpg" "image2.jpg" null:

Код С#:

double diff = image1.Compare(image2, ErrorMetric.RootMeanSquared);

Кто-нибудь знает, как получить такие же результаты?


person Nikhil Dinesh    schedule 22.10.2018    source источник
comment
Это может быть не совсем корректное сравнение. Первый, кажется, выполняет дополнительный поиск изображений. Я не вижу никакого флага во втором, чтобы сделать то же самое, поэтому я подозреваю, что он не ищет по всему изображению. Могу ошибаться, так как не знаю С#   -  person fmw42    schedule 22.10.2018


Ответы (1)


Похоже, ваш код Magick.NET отличается от того, что вы хотите сделать в командной строке. Вместо этого эта команда будет переведена на это:

var searchResult = image1.SubImageSearch(image2, ErrorMetric.RootMeanSquared);
var diff = searchResult.SimilarityMetric;
person dlemstra    schedule 22.10.2018
comment
Привет, dlemstra, я использую этот звонок в одном из своих сервисов. мое изображение1 - это изображение высокой четкости, а изображение 2 - очень маленькая область. При вызове этого метода для возврата требуется более 1 минуты. Как я могу остановить выполнение через 30 секунд? - person Nikhil Dinesh; 08.03.2019