Как рассчитать сходство двух изображений рисования линий в Swift
Нам нужно сравнить два нарисованных от руки изображения. Эти изображения нарисованы в наборе спрайтов. Нам нужно посмотреть, совпадают ли эти изображения или нет. Например, если кто-то рисует рисунок улыбки, нам нужно проверить, выглядит ли перерисованный рисунок улыбки как первый нарисованный рисунок улыбки или нет. Нам нужно знать, похожи ли эти два изображения или нет... и рассчитать точность процент того, насколько они похожи.. Пожалуйста, предложите несколько решений. Спасибо заранее.
2 ответа
Вы можете попробовать нарисовать каждый из путей в растровые изображения и сравнить их. Вот несколько советов для сравнения. Если ничего другого, это выведет вас на правильный путь для разрешения. Следующий проект может дать вам преимущество, но его нужно перевести на objc или Swift. Этот ответ о проверке кода также может оказаться полезным.
Одно предложение, которое кажется интригующим, - это попытка использовать kCGBlendModeDestinationOver для рисования растровых изображений в виде трассы друг с другом и сравнения результатов.
Для этого существует математический инструмент, который называется хаусдорфовым расстоянием.
Вход на расстояние Хаусдорфа в Википедии может помочь вам понять, как это работает. Я также могу предложить вам научную статью о сравнении изображений с этим Сравнение изображений с расстоянием Хаусдорфа.
Вы также можете найти использование евклидова расстояния для этого, взгляните на евклидово расстояние изображений.