
- •Рязанская государственная радиотехническая академия
- •Методические указания к лабораторным работам
- •Рязань 2005
- •390005, Рязань, ул. Гагарина, 59/1.
- •Введение
- •Команда imfinfo
- •Общие поля структуры info
- •Команда imwrite
- •Команда imshow
- •Команда iptsetpref
- •Глобальные переменные, устанавливаемые с помощью iptsetpref
- •Команда figure
- •Команда truesize
- •Команда subplot
- •Команда imresize
- •Команда imcrop
- •Команда imrotate
- •Команда plot
- •Команда hold
- •Команда mesh
- •Команда surf
- •Команда imhist
- •Команда text
- •Команда xlabel
- •Команда ylabel
- •Команда zlabel
- •Команда legend
- •4. Команды и операторы системы matlab, используемые в лабораторной работе Команды очистки
- •Матричные операторы
- •Условные операторы
- •Команды работы со строками
- •5. Порядок выполнения работы
- •6. Библиографический список
- •Лабораторная работа № 2 методы фильтрации изображений
- •1. Цель работы
- •2. Краткие теоретические сведения
- •2.1. Подавление шумов
- •2.2. Реставрация изображений
- •2.3. Выделение контуров
- •3. Порядок выполнения работы
- •4. Библиографический список
- •Лабораторная работа № 3 методы сегментации изображений
- •1. Цель работы
- •2. Теоретические сведения
- •2.1. Метод глобальной пороговой обработки
- •2.2. Байесовский метод
- •2.3. Метод центроидного связывания
- •2.4. Методы выделения границ
- •3. Практическая часть
- •4. Порядок выполнения работы
- •5. Библиографический список
- •3. Описание программы лабораторной работы
- •4. Порядок выполнения работы
- •5. Библиографический список
- •Оглавление
- •2.2. Реставрация изображений……………………………………………. 23
- •2.3. Выделение контуров………………………………………………….. 28
- •2. Теоретические сведения………………………………………………… 34
- •Список основных функций Image Processing Toolbox Форматы представления данных
- •Преобразования типов изображений
- •Конвертирование цветовых систем
- •Геометрические преобразования изображений
- •Анализ изображений
- •Улучшение изображений
- •Фильтрация изображений
- •Сегментация изображений
- •Морфологические операции над бинарным изображением
- •Операции с массивами
- •Формирование массивов специального вида
- •Операции над матрицами
- •Основные математические функции системы Matlab Базовые функции
- •Трансцендентные функции
- •Тригонометрические функции
- •Преобразования системы координат
- •Арифметические операторы
- •Операторы отношения
- •Логические операторы
- •Операторы поразрядной обработки
- •Операторы обработки множеств
- •Специальные переменнные и константы
- •Многомерные массивы
- •Задание осей координат
- •Управление цветом
- •Палитры цветов
- •Трехмерная графика
- •Операции над графическими объектами
- •Утилиты
- •Справочные команды
- •Управление рабочей областью
Условные операторы
Для реализации ветвления реализованы следующие операторы: if и switch.
Оператор if может иметь следующий синтаксис:
if <expression>
<statements>
end
Операторы <statements> выполняются, если выражение <expression> справедливо.
Расширенная форма оператора if имеет следующий вид:
if <expression>
<statements1>
else
<statements2>
end
Если выражение <expression> истинно, то выполнятся операторы <statements2>, иначе – операторы <statements1>.
Пример
if A > B
'greater'
else if A < B
'less'
else if A == B
'equal'
else
error('Unexpected situation')
end
Оператор switch имеет следующий вид:
switch <switch_expr>
case <case_expr>
<statement>,...,<statement>
case {<case_expr1>,<case_expr2>,<case_expr3>,...}
<statement>,...,<statement>
...
otherwise
<statement>,...,<statement>
end
В отличие от C++, в Matlab в операторе switch выполняется только первая case-ветка, значение case_expr которой совпало с результатом вычисления выражения switch_expr. Поэтому нет необходимости в использовании оператора break для выхода.
Пример
method = 'Bilinear';
switch lower(method)
case {'linear','bilinear'}
disp('Method is linear')
case 'cubic'
disp('Method is cubic')
case 'nearest'
disp('Method is nearest')
otherwise
disp('Unknown method.')
end
Краткий перечень основных функций пакета Image Processing Toolbox и операторов, наиболее часто используемых при обработке матриц, приведен в приложении. Для того чтобы в среде Matlab посмотреть справочную информацию по какой-либо функции, необходимо в командном окне набрать команду вида
help command,
где command – имя интересующего нас оператора.
Пример
help imhist
Команды работы со строками
t = strcat(t1,t2,…)- объединение нескольких строк t1,t2,…
в новую строку t.
t=int2str(k)- преобразование целого числа k в строку t.
5. Порядок выполнения работы
С помощью пункта меню FILENEWM-FILE или соответствующей кнопки панели инструментов открыть окно редактора. В нем составить программу на языке Matlab с использованием команд из пакета Image Processing Toolbox, которая выполняла бы следующую последовательность действий.
1. Считать изображение из файла, указанного преподавателем.
2. Определить параметры изображения и его размер. При этом для непосредственного вывода этих характеристик в командное окно не следует ставить в конце команды imfinfo символ ; .
3. Отобразить считанное изображение на экране.
4. Вырезать из исходного изображения небольшой участок, выделив его с помощью мыши. Вывести его в новое окно и сохранить в новом файле в своем рабочем каталоге.
5. Изменить режим вывода изображений, добавив оси координат.
6. Вырезать из исходного изображения участок 100х100 точек с заданным местоположением, определяя его по координатным осям. Вывести его в текущее окно с запретом масштабирования.
7. Создать новое изображение из последнего, увеличив его размеры в два раза. Вывести его в новое окно, запретив масштабирование.
8. Повернуть последнее изображение влево на 45 градусов с сохранением размеров. Отобразить его в отдельном окне.
9. Отобразить на экране двумерную функцию яркости в виде поверхности.
10. Вывести в одно окно последовательность заданного числа кадров. Использовать режим вывода, в котором отсутствуют мелькания при смене кадров.
11. Построить гистограммы распределения уровней яркости двух ранее полученных участков исходного изображения и вывести их в разных подокнах, расположив горизонтально.
12. Сделать на графике соответствующие поясняющие надписи: обозначения осей, заголовок.