Выпуклая оболочка
• Функция cnvxhull(M, fg) возвращает матрицу, содержащую выпуклую оболочку из пикселов со значением fg в матрице M.
Выпуклая оболочка — способ описания формы изображения путем определения смежных пикселов одинаковой интенсивности. Она применяется для нахождения промежутков и выпуклых деталей на изображении.
Функция возвращает матрицу бинарного изображения, содержащую выпуклую оболочку M, где пикселам переднего плана присвоено значение 1, а пикселам фона — 0.
Аргументы
• M — матрица изображения.
• fg — значение интенсивности пикселов переднего плана.
Дополнительные сведения
Выходные данные представлены в двоичной форме, где значение 1 присвоено пикселам внутри выпуклой оболочки, а значение 0 — снаружи. Оболочка определяется следующим образом: выбирается P1, самая левая верхняя точка множества пикселей в M, и L1, горизонтальная линия, проходящая через P1. Затем L1 вращается вокруг P1 до тех пор, пока не достигнет значения fg в множестве пикселей. Результирующая повернутая линия получает наименование L2, а точка P2 становится самой удаленной от P1 вдоль L2. Затем алгоритм повторяется, пока не станет истинным выражение Pn = P1. Объединение {P1, P2, ... , Pn-1} представляет вершины выпуклой оболочки.
Используемый алгоритм описан на странице 269 книги Digital Picture Processing (Обработка цифрового изображения) авторов A. Rosenfeld и A. C. Kak, 1982.