Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

pmi432 / LR07 / 2read / из Журавеля / 13. Коррекция неравномерной засветки изображения

.pdf
Скачиваний:
67
Добавлен:
18.03.2015
Размер:
417.99 Кб
Скачать

Image Processing Toolbox. . . .

. 1

MATLAB.Exponenta

 

Семинары

Тренинги

Лицензирование

Материалы

 

Подписка

 

Форум

Регистрация

Matlab

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Toolboxes

 

 

 

 

Запрос цены

 

Пробная версия

 

Запрос демонстрации

 

Simulink

 

 

 

 

 

 

 

 

 

 

 

Blocksets

 

 

 

 

 

 

 

 

 

Вход

 

 

 

 

 

 

 

 

 

 

Полезное

 

 

 

 

 

 

 

 

 

 

 

 

Обработка сигналов и изображений\ Image Processing Toolbox

И.М.Журавель "Краткий курс теории обработки изображений"

В оглавление книги \ К предыдущему разделу \ К следующему разделу

Коррекция неравномерной засветки изображения

Для иллюстрации улучшения изображения с неравномерной засветкой используем изображение зерен риса. Также проведем их идентификацию и на основе такого анализа вычислим некоторые статистические характеристики зерен на изображении.

Последовательность действий:

Шаг 1: Считывание изображения.

Шаг 2: Использование морфологической операции раскрытия для оценки фона. Шаг 3: Извлечение фона из исходного изображения.

Шаг 4: Увеличение контрастности изображения. Шаг 5: Пороговая обработка изображения.

Шаг 6: Присвоение меток объектам изображения. Шаг 7: Исследование матрицы меток.

Шаг 8: Измерение характеристик объектов на изображении.

Шаг 9: Вычисление статистических свойств объектов изображения. Шаг 10: Построение гистограммы по полю зерен.

Шаг 1: Считывание изображения

I=imread('rice.png');

imshow(I)

Шаг 2: Использование морфологической операции раскрытия для оценки фона

Отметим, что яркость фона является различной в разных частях изображения. Используем функцию IMOPEN для анализа (оценки) яркости фона.

background=imopen(I, strel('disk', 15)); % Отобразим поверхность фона

figure, surf(double(background(1:8:end, 1:8:end))), zlim([0 255]); set(gca, 'ydir', 'reverse');

http://matlab.exponenta.ru/imageprocess/book2/28.php

08.11.2012 23:17:26

Image Processing Toolbox. . . .

. 2

Шаг 3: Извлечение фона из исходного изображения

Таким образом, у нас имеется изображение и его фон в формате uint8. Далее, используя функцию IMSUBTRACT, проведем операцию извлечения фона из изображения.

I2=imsubtract(I, background); imshow(I2)

Шаг 4: Увеличение контрастности изображения

I3=imadjust(I2);

imshow(I3);

Шаг 5: Пороговая обработка изображения

Создадим бинарное изображение на основе данного.

level=graythresh(I3);

http://matlab.exponenta.ru/imageprocess/book2/28.php

08.11.2012 23:17:26

Image Processing Toolbox. . . .

. 3

bw=im2bw(I3, level); imshow(bw)

Шаг 6: Присвоение меток объектам изображения

Функция BWLABEL отмечает все связные компоненты на бинарном изображении. Точность результата зависит от размеров объектов, оценки фона. Проводится анализ отмеченных объектов, поскольку на изображении некоторые зерна риса соприкасаются.

[labeled, numObjects]=bwlabel(bw, 4); % 4-связные numObjects % Число всех отдельных объектов на изображении. numObjects=

101

Шаг 7: Исследование матрицы меток

Каждый отдельный объект является отмеченным некоторым числом. Например, большая часть зерен отмечена числом 50.

rect=[105 125 10 10];

 

 

 

 

 

 

grain=imcrop(labeled, rect)

 

 

 

 

 

 

grain=

 

 

 

 

 

 

 

 

 

 

0

0

50

50

50

50

50

50

50

50

0

0

0

50

50

50

50

50

50

50

50

0

0

0

50

50

50

50

50

50

50

50

0

0

0

50

50

50

50

50

50

50

50

0

0

0

50

50

50

50

50

50

50

50

0

0

0

50

50

50

50

50

50

50

50

0

0

0

50

50

50

50

50

50

50

50

0

0

0

0

50

50

50

50

50

50

50

0

0

0

0

50

50

50

50

50

50

0

0

0

0

0

50

50

50

50

50

50

0

0

0

0

0

0

50

50

50

0

0

0

0

Одним из путей просмотра матрицы меток является ее отображение в виде псевдоцветного индексного изображения. На этом изображении числа, которые идентифицируют каждый объект в матрице меток, отображаются различными цветами. Используем функцию LABEL2RGB для выбора палитры, цвета фона и цветов объектов в матрице меток.

RGB_label=label2rgb(labeled, @spring, 'c', 'shuffle'); imshow(RGB_label)

Шаг 8: Измерение характеристик объектов на изображении

Функция REGIONPROPS проводит анализ объектов или характеристик окрестности на изображении и возвращает результаты в виде структур массива. При обработке изображения с отмеченными компонентами, для каждого объекта создается свой структурный элемент. Используем функцию regionprops для создания массива структур, содержащего некоторые основные свойства отмеченных объектов изображения.

graindata=regionprops(labeled, 'basic') graindata=

graindata(50).Area

http://matlab.exponenta.ru/imageprocess/book2/28.php

08.11.2012 23:17:26

Image Processing Toolbox. . . .

. 4

ans = 203

В оглавление книги \ К предыдущему разделу \ К следующему разделу

I Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2002 г.) II Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2004 г.)

III Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (октябрь 2007 г.) IV Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2009 г.)

V Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2011 г.)

На первую страницу \ Сотрудничество \ MathWorks \ Softline \ Контакты \ Вакансии

Информация на сайте была обновлена 21.04.12

Copyright 2001–2012 Softline Co

Наши баннеры

 

подарки – подарочные сертификаты

http://matlab.exponenta.ru/imageprocess/book2/28.php

08.11.2012 23:17:26