Вам нужно будет очень тщательно подумать о том, какие различия вас волнуют.
Выполнение попиксельного сравнения изображений одинакового размера не будет слишком сложным.Присвойте значение ошибки каждому пикселю, а затем каким-то образом объедините различия, чтобы получить одну фигуру.
Масштабирование одного или другого изображения, если они имеют разные размеры, но одинаковое соотношение сторон, также довольно простое.
Однако, крайние случаи становятся хитрыми очень быстро.Например, что произойдет, если два ваших символа X сместятся, так что один находится слева от изображения, а другой справа?Должны ли они быть как-то «похожими»?
Кроме того, сравнивая Н с Х, вы хотите получить высокий балл - но как тогда вы оценили бы Х по сравнению с цветным изображением бабочки?Еще выше, предположительно, но насколько выше?
Какой-то тип обучения нейронной сети может помочь вам, где вы решаете, какие значения вы бы присваивали себе для некоторых выборочных сравнений, а затем обучаете сеть возвращать эти значения дляваши образцы изображений.Но это не тривиально для кода.
Если ваши требования сравнения проще - например, вы делаете какой-то эквивалент распознавания текста, и вы знаете, что ваши входные данные, вероятно, будут монохроматическими символами, тогда естьдругие приемы, которые вы можете использовать, но соответствующие будут зависеть от того, чего вы пытаетесь достичь.