
- •Часть 1: Пакет matlab
- •1. Начальные сведения о математическом пакете matlab
- •1.2. Редактор командной строки
- •2. Основные конструкции matlab
- •2.1. Форматы представления чисел и типы данных, используемых при обработке изображений
- •2.2. Массивы.
- •2.3. Операторы
- •2.3.1. Операции с числами
- •2.3.2 Операции с матрицами
- •2.3.3. Операторы сравнения для массивов
- •2.3.4. Логические операторы
- •2.4. Символьные вычисления
- •3. Основные команды для цифровой обработки изображений
- •3.1. Цифровое представление изображения и математическая модель цвета.
- •3.2. Цифровое представление изображения в matlab
- •Бинарные изображения
- •3.3.5. Поворот изображения
- •4. Программирование в matlab
- •4.1. Внешние текстовые файлы
- •4.2. Условный оператор и оператор цикла
- •4.3. Работа с m-файлами
- •4.4. Пример m-файла. Умножение изображений
- •5. Визуализация результатов вычислений
- •5.1. Команда Plot
- •5.2. Настройка параметров графического вывода команды plot
- •5.6. Отображение радиус – векторов
- •5.7. Построение узлов разбиения прямоугольной области.
- •6. Статистические функции обработки изображений
- •6.1. Определение rgb значений пиксела
- •6.2. Вычисление среднего значения элементов матрицы
- •6.3. Вычисление среднеквадратичного отклонения элементов матрицы
- •6.4. Выделение подобластей изображения
- •6.5. Построение гистограммы интенсивности цветовых компонентов
- •6.6. Применение команды hist для анализа текстуры дорожного покрытия
- •7. Управление параметрами изображений
- •7.1. Выравнивание гистограммы (эквализация)
- •7.2. Управление яркостью (Вета – коррекция)
- •7.3. Управление контрастностью (Гамма-коррекция)
- •8. Фильтрация изображений
- •Принципы фильтрации
- •8.2 Функции фильтрации
- •8.3. Фильтр Гаусса.
- •8.4.Фильтр Собеля
- •8.5. Фильтр Превитта.
- •8.6. Вч фильтр Лапласа.
- •8.7.Фильтр Лапласа-Гаусса.
- •8.8. Усредняющий нч фильтр.
- •8.9. Фильтр повышения резкости.
- •9. Выделение контуров объектов
- •10. Пример обработки изображения для анализа качества дорожного покрытия
- •Литература
Компьютерные методы
обработки информации
и
распознавание образов
в задачах транспорта и связи
Часть 1: Пакет matlab
Буслаев А.П., Кузьмин Д.М., Яшина М.В.
2007
МТУСИ
Содержание
1. Начальные сведения о математическом пакете MATLAB
2. Основные конструкции MATLAB.
3. Основные команды для цифровой обработки изображений.
4. Программирование в MATLAB
5. Визуализация результатов вычислений.
6. Статистические функции обработки изображений.
7. Управление параметрами изображений.
8. Фильтрация изображений.
9. Выделение контуров.
10. Пример обработки изображения для решения практических задач анализа качества дорожного покрытия.
11. Литература
Введение
С развитием цифровых фото- и видеокамер заметно расширилась база изображений, и стали актуальными задачи их автоматической обработки. Приложения интеллектуальных систем, основанные на анализе изображений, т.н. «техническое зрение», - самые разнообразные, от создания роботов в производстве до гуманитарных помощников в жизне-деятельности.
В последнее время обеспечение безопасности человека приобретает первостепенное значение в связи с наметившимися тенденциями к изменению климата, возрастанием энерго-насыщенности человеческой жизни, обострением конкуренции сообществ за ресурсы, усложнением межличностных отношений.
Таким образом, обеспечение равных справедливых условий конкуренции за жизненное пространство – одно из важнейших направлений совершенствования интеллектуальных устройств, основанных на анализе звука, изображений и других «отпечатков» человеческой жизни.
В первой части планируемой серии рассматриваются возможности стандартного пакета MATLAB. Пакет естественно-научных вычислений – MATLAB – это интерактивная система, в которой основным элементом данных является массив, матрица, как обобщение понятия числа. Возможности пакета MATLAB включают в себя математические операции, создание алгоритмов, анализ данных и визуализацию, разработку приложений с доступом в форме графического интерфейса.
Изначально пакет создавался для практического применения методов линейной алгебры и теории матриц в различных областях машиностроения и науки. Однако, в процессе развития приобрел качества самостоятельного продукта, ориентированного в частности, и на обработку сигналов, звука и изображений.
Приведенные упражнения должны способствовать более полному усвоению материала.
1. Начальные сведения о математическом пакете matlab
1.1. MATLAB - разработка компании MathWorks INC, [4], на пиктограмму пакета разработчики вынесли короткое определение – язык технических вычислений.
М
атематический
пакет MATLAB (сокращение от MATrix LABoratory)
появился в 1984 г. и первоначально
предназначался для матричных вычислений.
Видимо, благодаря структуре программного
обеспечения, в которой математический
объект описан как класс со своими
свойствами и реализация действий
происходит как выполнение процедур,
написанных на языке высокого уровня
C++,
пакет оказался способным для наращивания
различных научно-инженерных приложений.
В частности, активно развиваются
библиотеки обработки сигналов (Signal
Processing
Toolbox),
звуковых данных, изображений (Image
Processing
Toolbox),
а также видеоданных (Image Acquisition Toolbox).
Настоящее пособие ориентировано на версию MATLAB 7.0.1., 2004 г.
На рис.1 представлена стандартная конфигурация рабочего окна пакета MATLAB. Экран разделен на 3 части:
I - рабочая область, на ней показан символ “>>”, который означает командную строку.
II - область отображения объектов, имеющая две закладки, см. рис.3;
III – история – окно отображения списка выполненных команд и время их создания.
В командном окне (Command Window) можно выполнять процедуры MATLAB в интерактивном режиме. Сразу при загрузке пакета в командном окне появляется системное приглашение (см. рис. 1): >>
Если набрать выражение и нажать Return или Enter, MATLAB автоматически выведет результат на экран. Однако если в конце строки поставить точку с запятой, MATLAB проведет вычисления, но не отобразит их. Это часто бывает нужно, например, при создании больших матриц.
Рис.1. Главное окно пакета MATLAB
Если необходимо развернуть рабочую область на весь экран, убрав «историю», нужно в меню выбрать Desktop и отметить «Desktop Layout».
Рис. 2. Главное меню MATLAB
На рисунке 3 показаны возможности окна III – области отображения объектов. В пункте а) представлен результат выбора закладки Current Directory – текущей папки. При этом в окне III отображается список файлов, имеющихся в выбранной пользователем директории. На рисунке 3 б) – результат выбора закладки Workspace – рабочего пространства. В этом случае в окне отображается список используемых объектов, переменных и структур и их значения. Обе вкладки можно отобразить одновременно, как показано на рисунке 3 в).
Рис. 3. Вкладки Current Directory (а) и Workspace (б) для Области отображения объектов, (в) – одновременный выбор
Интерактивный режим в MATLAB предполагает, что сразу после набора команды и нажатия клавиши Enter, происходит выполнение этой команды и вывод результатов работы процедуры в случае, если нет синтаксических ошибок, или вывод сообщения об ошибке при ее наличии.
Пример 1.1. Присвоение переменной x значения 2.5. После системного приглашения набираем
>> x=2.5
Нажимаем клавишу Enter, получаем результат – имя переменной и ее значение
x =
2.5000
Пример 1.2. Дано значение x. Требуется вычислить значение функции y=x^2+3*x. Предположим, что пропущен символ (“*”) операции умножения при вводе 3x. Тогда появится сообщение об ошибке с указанием позиции пропущенного оператора:
>> y=x^2+3x
??? y=x^2+3x
|
Error: Missing MATLAB operator.
Исправив ошибку,
>> y=x^2+3*x
получим значение функции, поскольку переменная x наследует значение из примера 1.1,
y=
13.7500