Всем доброго времени суток, пишу программу для сравнения изображений. В идеале есть большая коллекция изображений и произвольное искомое изображение. Соответственно нужно определить степень похожести искомого изображения и изображений из коллекции. Формула которой я сейчас пользуюсь имеет большие погрешности. Ниже ее я привел.
Весь алгоритм описывать не буду, т.к. долго, перейду непосредственно к оценки схожести. Предположим, что у нас есть 2 изображения:
CI — изображение из коллекции(collection image).
SI — изображение для поиска(search image).
Оба они имеют размер 50х50 и представляются, либо в виде контуров(
детектор границ Канни), либо же просто, как ч/б изображение размытое фильтром Гаусса. Сейчас я использую довольно тривиальную формулу:
где I1 — пиксели SI, а I2 пиксели CI.
Но т.к. формула линейная, возникает много неточностей в процессе запроса. Отсюда вопрос, как более точно выявить степень схожести изображений?