
pmi432 / LR07 / 2read / из Журавеля / 13. Коррекция неравномерной засветки изображения
.pdf
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 |