Шаг 6: Сегментация ядер на основании отдельного изображения
Рассмотрим изображение, которое содержит синие объекты. Отметим, что они являются темно-синими и светло-синими. Используя значение 'L*' в цветовом пространстве L*a*b* можно отделить темно-синие объекты от светло-синих.
Напомним, что параметр 'L*' содержит значения интенсивностей для каждого цвета. Найдем кластеры, которые содержат синие объекты. Получим значения интенсивностей объектов в этом кластере и обработаем их пороговым методом с использованием функции im2bw.
Параметр cluster_center содержит среднее значение 'a*' и 'b*' для каждого кластера. Синий кластер имеет второе наибольшее значение cluster_center.
mean_cluster_val=zeros(3, 1);for k=1:nColors mean_cluster_val(k)=mean(cluster_center(k));end[mean_cluster_val,idx]=sort(mean_cluster_val);blue_cluster_num=idx(2);L=lab_he(:, :, 1);blue_idx=find(pixel_labels==blue_cluster_num);L_blue=L(blue_idx);is_light_blue=im2bw(L_blue,graythresh(L_blue));Используем маску is_light_blue для того, чтобы пометить те пиксели, которые являются частью синего ядра. Отобразим синие ядра на разделенном изображении.
Сегментация цветных изображений на основе цветового пространства L*a*b*
Рассмотрим задачу, основной целью которой является идентификация и анализ различных цветов изображения в пространстве L*a*b*. Изображение получено с помощью пакета Image Acquisition Toolbox.
Содержание
- Шаг 1: Получение изображения.
- Шаг 2: Вычисление выборки цветов в цветовом пространстве L*a*b* для каждой локальной области.
- Шаг 3: Классификация каждого пикселя с использованием принципа ближайшей окрестности.
- Шаг 4: Отображение результатов классификации по ближайшей окрестности.
- Шаг 5: Отображение значений 'a*' и 'b*' отмеченных цветов.