У меня есть изображение, как это (пороговые, удаление шума и т.д. завершено):Как сгладить зубчатую границу изображения в прямую линию?
Моего окончательный вывод должен быть изображение без какого-либо неровных краев, и меньше, чем заданное изображение. Под этим я хочу сказать, что единственное различие между двумя изображениями должно быть в том, что в новом, зубчатые края должны быть удалены, а не зубчатые края заполнены. Как и (окончательное изображение должно быть область в пределах красной границы, красная граница показана только для объяснения):
Я думал о чем-то вдоль линий с помощью Хаф преобразующая или использования разрывов, а затем эрозий, но ничего не работает (вероятно, моя вина, потому что я раньше не слишком подробно разбирался с ними).
Обратите внимание, что язык, который я хотел бы сделать, это MATLAB.
Есть 2 основных цели этого:
- Чтобы получить Кромки сам, используя Хаф трансформирует
- Так что свойство «экстремумов» возвращает нужные пинты при использовании regionprops, например, так:
вопрос, в более краткой форме:
- Как я могу извлечь этот T в MATLAB, чтобы он не имел прочных ребер, но общая цифра не больше оригинала, как показано на втором рисунке выше? Другими словами, какой набор преобразований (в MATLAB) я использовал бы, чтобы сгладить границы изображения с минимальной площадью, потерянной как можно меньше (но не добавленной области), так что прочность исчезает?
- Есть ли более эффективный способ извлечения угловых (экстремальных) точек, как показано на рисунке 2 выше, без необходимости проходить этап 1?
EDIT: больше Несколько образцов изображения:
Примечание: Все изображения в рассмотрение не будет состоять из прямоугольников примерно в 90 друг к другу, и никакой другой фигуры. Таким образом, сглаживание изображения с изогнутым краем, например, выходит за рамки ответа на этот вопрос (или даже, если на то пошло, трапеции, хотя я считаю, что сглаживание двух прямых краев должно быть одинаковым, независимо от того, край имеет другую параллель с ним или нет).
Вот несколько изображений, для справки:
Каков ваш вопрос? – Celeo
Извините. Я обновил вопрос, чтобы вопрос выделялся больше –
Можете ли вы показать некоторые изображения, для которых вы хотите, чтобы этот алгоритм работал. Я думаю, что относительно легко написать код, который работает для этого изображения, но его сложно обобщить, или вам не нравится только этот образ? –