Мне нужно написать функцию, которая находит «глубину» ячейки (строки, столбца) в матрице.
Для любой матрицы nxm скажем, например, mat = ones(6,6)
..
mat =
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
Результат будет:
thick =
1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1
Где «1» — наименьшая возможная толщина, определяющая краевую ячейку. Каждая дополнительная окружающая ячейка добавляет +1 к толщине. NAN нужно будет обрабатывать как «край», если они находятся на границе ... но я думаю, что я могу добавить это позже.
Идеи? Любая помощь приветствуется. Спасибо!
РЕДАКТИРОВАТЬ:
Удалено мое исходное редактирование, нужно переосмыслить мою первоначальную проблему. В основном я хочу найти самую глубокую ячейку в матрице. Матрица не обязательно должна быть регулярной и может иметь отверстия. Обычно это достигается с помощью многоугольника и нахождения диаметра наибольшего круга, который помещается внутри этого многоугольника, но я не уверен, насколько эффективно я мог бы реализовать это в MATLAB. Хммм....