alpacaheng Ответов: 1

Как я могу сравнить два изображения с игнорированием яркости в C#


Я хочу создать программу, которая может сравнивать два изображения, но игнорировать яркость, которая может быть вызвана солнечным светом.
есть ли какая-нибудь библиотека или метод для этого?

Что я уже пробовал:

I have tried to compare two image by comparing the pixel, but it will not ignore the brightness.

Afzaal Ahmad Zeeshan

Возможно, вам нужно будет перейти к оттенкам серого, а затем сравнить их? Это звучит почти невозможно игнорировать яркость.

Вот пример потока, который может помочь вам в создании фильтра высоких частот и последующем сравнении, https://stackoverflow.com/questions/14434426/image-comparison-algorithm-that-ignores-brightness

1 Ответов

Рейтинг:
5

Maciej Los

Существует несколько методов, например:
1. Соответствующие Точки
2. Метод гистограммы
3. Ключевые Точки + Деревья Решений
4. файл-хэш на основе (md5,sha1 и т.д.) для точных дубликатов
5. перцептивное хэширование (phash) для масштабированных изображений
6. feature-based (просеивание) для модифицированных изображений
Для получения более подробной информации, пожалуйста, смотрите: Сравнение изображений - быстрый алгоритм[^]

Это зависит от того, что вы подразумеваете под "сравнением двух изображений"...

Для начала я бы посоветовал прочитать эту превосходную статью CP: Простое сравнение изображений в .NET[^]


Graeme_Grant

5 ЕД!

Maciej Los

Спасибо, Грэм.

Graeme_Grant

Это был в основном ответ и ссылки, которые я собирался дать ;)

Maciej Los

Я рад, что оказался первым...
:смеяться: