что означает max (max (L)) в MATLAB? - PullRequest
2 голосов
/ 27 ноября 2010

что означает следующий код в MATLAB?

L = bwlabel(B,8)
mx= max(max(L))

есть идеи?

Ответы [ 2 ]

8 голосов
/ 27 ноября 2010

max по умолчанию принимает максимум массива по первому не-одиночному измерению.Если L является двумерным массивом (что и должно быть, учитывая ваш вызов bwlabel), первый вызов max сворачивает первое измерение, так что есть только одна строка с максимумами столбца, а второй вызов сворачиваетсявторое измерение, так что остается только скалярный максимум.В этом примере max(max(L)) эквивалентно max(L(:))

Поскольку bwlabel выполняет маркировку подключенного компонента (т. Е. Маркирует каждую подключенную группу пикселей уникальными последовательными целыми числами), mx сообщает вам числогруппы пикселей на изображении.

РЕДАКТИРОВАТЬ

Как упоминается в комментариях @gnovice, в качестве второго выходного аргумента возвращается самая высокая метка, назначенная bwlabel:[L,mx] = bwlabel(B,8);

4 голосов
/ 27 ноября 2010

bwlabel возвращает двумерную матрицу подключенных компонентов. Вложенный max() подобным образом возвращает одно наибольшее значение в 2D-матрице, то есть самый высокий найденный компонент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...