Любые два изображения I
и J
того же размера можно сравнить с различными способами; существует множество методов сходства и различий, которые могут быть использованы (косинус-метрика, кросс-корреляция, кросс-корреляция градиента, взаимная информация и т. д.).
В вашем случае, как я понимаю ваш вопрос, «каково отношение пикселей, которые отличаются в обоих изображениях». На этот вопрос ответ:
d = sum(abs(I(:)-J(:)) > eps)/numel(I);
но поймите, что это довольно слабая сравнительная метрика. Например, он не сообщает вам , как разные изображения находятся в тех местах, где они не равны.
Это может быть улучшено (например, путем вычисления средней разницы) и может быть расширено до случая, когда I
и J
не имеют того же размера (например, путем их первого изменения размера или сравнения пар случайных паттов равного размера вместо).
Вы должны показать нам, что вы пробовали с фактическими фрагментами кода. – dramzy
Я добавил код, который я использовал .. –
Я не понимаю ваш вопрос. 'imshowpair' с опцией' diff' просто вычитает два изображения вместе и помещает абсолютный знак. Я не понимаю, как вы можете получить это в процентах. Не могли бы вы пояснить, что вы имеете в виду в процентах? Вы хотите сравнить, сколько разных пикселей есть в одинаковых пространственных местоположениях между изображениями? – rayryeng