Я хотел бы знать, какова была бы лучшая стратегия для сравнения группы контуров, на самом деле это ребра, являющиеся результатом обнаружения хитрых ребер, из двух изображений, чтобы узнать, какая пара более похожа.
У меня есть это изображение:
http://i55.tinypic.com/10fe1y8.jpg
И я хотел бы знать, как я могу рассчитать, какой из них подходит лучше всего:
http://i56.tinypic.com/zmxd13.jpg
(это должно быть справа)
Есть ли способ сравнить контуры в целом?
Я могу легко поворачивать изображения, но я не знаю, какие функции использовать, чтобы рассчитать, что эталонное изображение справа лучше всего подходит.
Вот то, что я уже пробовал использовать opencv:
функция matchShapes - я попробовал эту функцию, используя 2 изображения в оттенках серого, и я всегда получаю один и тот же результат на каждом изображении сравнения, и значение кажется неправильным, поскольку оно равно 0,0002.
Итак, что я понял о matchShapes, но я не уверен, что это правильное предположение, что функция работает с парами контуров, а не с полными изображениями. Теперь это проблема, потому что, хотя у меня есть контуры изображений, которые я хочу сравнить, их сотни, и я не знаю, какие из них должны быть «спарены».
Поэтому я также попытался сравнить все контуры первого изображения с двумя другими с итерацией для , но я мог бы сравнить, например, контур 5 с контуром круга два опорных изображения, а не 2 контура.
Также пробовал простую функцию cv :: Compare и matchTemplate, но безуспешно.