Document 361335

advertisement
bwcontr
function newcolor = bwcontr(cc)
%BWCONTR Contrasting black or white color.
% NEW = BWCONTR(COLOR) produces a black or white depending on which
% one would contrast the most. Used by NODITHER.
if (isstr(cc))
warning([mfilename ' was passed a string -- using black'])
newcolor = [0 0 0];
else
if ((cc * [.3; .59; .11]) > .75)
newcolor = [0 0 0];
else
newcolor = [1 1 1];
end
end
bweuler(bw,4) = 26
bweuler(bw,8) = 0
В матрице L значения представляют позиции ненулевых элементов, используя матричную
линейную индексацию.
bw =
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
>> bwdist(bw,'cityblock')
ans =
3
2
3
2
1
2
1
0
1
1
0
1
>> [D,L]=bwdist(bw)
D=
3.1623 2.2361 1.4142 1.0000 1.0000 1.4142
3.0000 2.0000 1.0000
0
0
1.0000
3.1623 2.2361 1.4142 1.0000 1.0000 1.4142
2
1
2
bw =
0 0
0 0
0 0
L=
11 11 11 11 14 14
11 11 11 11 14 14
11 11 11 11 14 14
0
0
0
0
1
0
0
1
0
0
0
0
BWFILL
Функция BWd=bwfill(BWs, c, r, n) создает бинарное изображение BWd, отличающееся от
изображения BWs связной областью фона, включающей пиксель с координатами (r, с),
которая в BWd будет заполнена пикселями объекта. Пиксель, с которого начинается
заполнение, называют затравочным. Если параметры r и с являются векторами одинаковой
длины, то заполняются все области фона с затравочными пикселями (r(k), c(k)).
Параметр n для всех рассматриваемых функций bwfill задает критерий связности для
пикселей объекта. Этот параметр может принимать значения 4 или 8 (значение по
умолчанию). Следует помнить, что критерий связности для пикселей фона противоположен
критерию связности для пикселей объекта, т.е. если объекты 8-связные, то фон 4-связный, и
наоборот.
Функция BWd=bwfill(BWs, n) выводит изображение BWs на экран и предоставляет
пользователю возможность интерактивно задать координаты затравочных пикселей.
Бинарное изображение BWd создается из исходного изображения BWs, у которого
заполнены связные области фона, включающие затравочные пиксели. Координаты
затравочных пикселей задаются однократным щелчком левой клавиши мыши. Предыдущий
заданный затравочный пиксель можно удалить, если нажать клавишу Backspace или Delete.
Последний затравочный пиксель задается двойным щелчком левой клавиши мыши или
однократным щелчком правой клавиши мыши. Нажатие клавиши Enter завершает процесс
выделения затравочных пикселей без добавления еще одного затравочного пикселя. Сразу
после нажатия клавиши Enter или указания последней затравочной точки начинается
заполнение соответствующих пикселей фона.
Если при вызове функции параметр BWs опущен, то функция использует изображение
из текущего окна.
Функция [BWd, idx]=bwfill(...) дополнительно возвращает вектор idx, позволяющий
определить координаты всех заполненных пикселей. Координату (r, с) пикселя по значению
idx(k) можно вычислить с помощью следующих соотношений:
с=fix((idx(k)+rows-l)/rows);
r=idx(k)-rows*(с-1), где rows - количество строк в исходном изображении.
Функция BWd=bwfill(x, у, BWS, xi, yi, n) создает новое бинарное изображение BWd из
исходного изображения BWs, у которого связная область фона, включающая пиксели с
координатами из векторов xi и yi, заданными в пространственной системе координат,
заполнена пикселями объекта. Диапазоны изменения координат пространственной системы
координат устанавливаются для изображения ВWd двухкомпонентными векторами х и у.
Функция [х, у, BWd, idx, xi, yi]=bwfill(...) дополнительно возвращает векторы координат xi
и yi, соответствующих координатам заполненных пикселей в пространственной системе
координат. Диапазоны изменения координат пространственной системы координат,
установленные для исходного изображения, возвращаются в двухкомпонентных векторах х и
у.
Функция BWd=bwfill(BWs, 'holes', n) создает новое бинарное изображение BWd, у
которого пикселами объекта заполнены дыры в объектах исходного изображения BWd.
Если функция bwfill используется без выходных параметров, например bwfill(BWs,
'holes'), то получившееся в результате изображение отображается на экране в новом окне.
BWLABEL
Поиск объектов
Синтаксис:
L=bwlabei(BW, n)
[L, num]=bwlabel(BW, n)
Описание:
Функция L=bwlabel(BW, n) ищет на бинарном изображении BW связные области
пикселов объектов и создает матрицу L, каждый элемент которой равен номеру объекта,
которому принадлежит соответствующий пиксел изображения BW. Размер матрицы номеров
объектов L равен размеру BW. Объекты нумеруются по порядку начиная с 1. Элементы,
имеющие значение 1, относятся к первому объекту, имеющие значение 2 относятся ко
второму объекту и т. д. Если элемент в матрице L равен 0, то это означает, что
соответствующий пиксел исходного изображения относится к фону. Параметр n указывает
критерий связности, используемый для нахождения связных областей - объектов. Параметр n
может принимать значения 4 или 8 (значение по умолчанию).
Функция [L, num]=bwlabel(BW, n) дополнительно в параметр num возвращает
количество объектов, найденных на изображении BW.
Матрица L имеет формат представления данных double.
Матрицу номеров объектов L удобно отображать на экране как палитровое
изображение. Для этого следует вместе с L использовать палитру с количеством цветов
больше либо равным num+1. Если палитра содержит различные цвета, то каждый объект
будет окрашен в уникальный цвет.
BWLABELN
Определение связных компонентов бинарного изображения
L=bwlabeln(BW)
[L, NUM]=bwlabeln(BW)
[L, NUM]=bwlabeln(BW, CONN)
Функция L=bwlabeln(BW) возвращает матрицу меток L, содержащую метки связных
компонентов на бинарном изображении BW. Изображение BW может быть любой
размерности; размерность матрицы меток L совпадает с размерностью изображения BW.
Элементы матрицы L представляют собой целые числа больше или равны 0. Пикселы,
отмеченные нулями, являются фоном. Пикселы, отмеченные 1, указывают на первый объект;
пикселы, отмеченные 2, указывают на второй объект, и т.д. По умолчанию связными
являются 8 элементов для двух измерений, 26 – для трех измерений и
conndef(ndims(BW),'maximal') – для больших измерений.
Функция [L, NUM]=bwlabeln(BW) возвращает в параметре NUM число связных объектов,
найденных на основе анализа бинарного изображения BW.
Функция [L, NUM]=bwlabeln(BW,CONN) определяет компоненты требуемой связности.
Параметр CONN может принимать любое из приведенных ниже значений.
Значение параметра CONN
Двумерная связность
4
8
4–связная окрестность
8–связная окрестность
Трехмерная связность
6
6–связная окрестность
18
18–связная окрестность
26
26–связная окрестность
Связность может быть определена и для других измерений с помощью параметра
CONN. Следует отметить, что связность должна быть симметричной или иметь центральный
элемент.
Функция bwlabel работает только с двумерными исходными изображениями. Для
обработки многомерных изображений следует использовать функцию bwlabeln. В некоторых
случаях, можно отдать предпочтение функции bwlabeln, поскольку она отличается более
высоким быстродействием. Если объекты исходного двумерного изображения являются
относительно крупными по вертикали, в этом случае рекомендуется использовать функцию
bwlabel, в других случаях, с целью увеличения быстродействия, следует использовать
функцию bwlabeln.
Требования к исходным данным.
BW1 может быть логическим или цифровым массивом любой размерности, также он
должен быть не разреженным. Матрица меток L имеет формат представления данных
double.
BWPERIM
Выделение границ бинарных объектов
BWd=bwperim(BWs, n)
Функция BWd=bwperim(BWs, n) создает бинарное изображение BWd, у которого
значения граничных пикселей объектов исходного изображения установлены в 1, а значения
остальных пикселей результирующего изображения установлены в 0. Пиксель считается
граничным, если он равен 1 и хотя бы один из его n соседей равен 0. Параметр n для всех
рассматриваемых функций bwperim задает критерий связности для пикселей границы и
может принимать значения 4 или 8. Если при вызове функции bwperim параметр n опущен, то
проверяются на равенство нулю все 8 соседей пикселя.
Результирующее изображение BWd имеет формат представления данных uint8. Данная
функция незначительно отличается от вызова функции bwmorph(BW, 'remove', Inf).
BWSELECT Выделение объектов
Функция BWd=bwselect(BWs, с, r, n) создает новое бинарное изображение BWd,
содержащее объект исходного изображения BWs, который включает в себя пиксел с
координатами (r, с). Пиксел, с которого начинается выделение объекта, называют
затравочным. Если параметры r и с являются векторами одинаковой длины, то с изображения
BWs на изображение BWd переносятся все объекты с координатами затравочных пикселов
(r(k), c(k)).
Параметр n для всех рассматриваемых функций bwselect задает критерий связности для
пикселов объекта. Этот параметр может принимать значения 4 или 8 (значение по
умолчанию).
Функция BWd=bwselect(BWs, n) выводит изображение BWs на экран и предоставляет
пользователю возможность интерактивно отметить затравочные пикселы. Все объекты,
которые содержат хотя бы один из отмеченных пикселов, переносятся с изображения BWs на
изображение BWd. Координаты затравочных пикселов задаются однократным щелчком
левой клавиши мыши. Предыдущий заданный затравочный пиксел можно удалить, если
нажать клавишу Backspace или Delete. Последний затравочный пиксел задается двойным
щелчком левой клавиши мыши или однократным щелчком правой клавиши мыши. Нажатие
клавиши Enter завершает процесс выделения затравочных пикселов без добавления еще
одного затравочного пиксела. Сразу после нажатия клавиши Enter или выбора последнего
затравочного пиксела создается новое бинарное изображение BWd.
Функция [BWd, idx]=bwselect(...) дополнительно возвращает вектор idx, позволяющий
определить координаты всех пикселов всех объектов изображения BWd. Координату (r, с)
пиксела по значению idx(k) можно вычислить с помощью следующих соотношений:
с=fix((idx(k)+rows-l)/rows);
r=idx(k)-rows*(с-1), где rows – количество строк в исходном изображении.
Функция BWd=bwselect(x, у, BWs, xi, yi, n) создает новое бинарное изображение BWd,
содержащее те объекты исходного изображения BWs, которые включают в себя затравочные
пикселы с координатами, передаваемыми в векторах xi и yi. Координаты в xi и yi указываются
в пространственной системе координат. Диапазоны изменения координат пространственной
системы координат устанавливаются для изображения BWd двухкомпонентными векторами х
и у.
Функция [х, у, BWd, idx, xi, yi]=bwselect(...) дополнительно возвращает векторы
координат xi и yi, соответствующих координатам центров пикселов объектов с изображения
BWd. Диапазоны изменения координат пространственной системы координат,
установленные для исходного изображения, возвращаются в двухкомпонентных векторах х и
у.
BWULTERODE Максимальная эрозия
Функция BW2=bwulterode(BW) проводит операцию эрозии над бинарным
изображением BW. Операция максимальной эрозии изображения BW заключается в
преобразовании локального максимума евклидового расстояния на изображении. По
умолчанию связными для вычисления локальных максимумов являются 8 элементов для
двух измерений, 26 – для трех измерений и conndef(ndims(BW),'maximal') – для больших
измерений.
Функция BW2=bwulterode(BW, METHOD, CONN) позволяет связать методы
пространственных преобразований и локальных максимумов. Параметр METHOD может
принимать значение 'euclidean', 'cityblock', 'chessboard' или 'quasi-euclidean'.
Текст:
[bw,method,conn] = parse_inputs(varargin{:});
bw2 = imregionalmax(bwdist(~bw,method),conn);
% BW = IMREGIONALMAX(I) computes the regional maxima of I.
IMREGIONALMAX returns a binary image, BW, the same size as I, that identifies the
locations of the regional maxima in I. In BW, pixels that are set to 1 identify regional maxima; all
other pixels are set to 0.
Download