
- •Рязанская государственная радиотехническая академия
- •Методические указания к лабораторным работам
- •Рязань 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 Базовые функции
- •Трансцендентные функции
- •Тригонометрические функции
- •Преобразования системы координат
- •Арифметические операторы
- •Операторы отношения
- •Логические операторы
- •Операторы поразрядной обработки
- •Операторы обработки множеств
- •Специальные переменнные и константы
- •Многомерные массивы
- •Задание осей координат
- •Управление цветом
- •Палитры цветов
- •Трехмерная графика
- •Операции над графическими объектами
- •Утилиты
- •Справочные команды
- •Управление рабочей областью
Матричные операторы
Оператор : применяется для формирования векторов и матриц или для выделения из них подвекторов, подматриц, подблоков массива.
Формирование векторов
A = j : k
если j >= k, то будет сформирован вектор A вида [j j+1 j+2 ... k]; если j < k, то пустой вектор А.
Для задания шага изменения значений создаваемого вектора используют следующую команду:
А = j : i : k,
если j <= k и i > 0 или j > k и i < 0, то будет сформирован вектор вида [j j+i j+2i... k]; если i < 0 и j < k, или i > 0 и j>k, то будет сформирован пустой вектор.
Выделение подблоков
A(i1 : i2, j1 : j2) – выделение подблока массива A со строками i1 : i2 и столбцами j1 : j2.
A(i, :) – обращение к i-й строке массива A;
A(:, j) – обращение к j-му столбцу массива A.
Поскольку в языке Matlab элементы массива упорядочены по столбцам, то допустимы операторы вида A(n1:n2), которые выделяют пронумерованные элементы с номера n1 до номера n2. Оператор A(:) записывает все элементы массива A в виде столбца.
Для определения размера массива может использоваться оператор size, который возвращает вектор, элементы которого содержат число строк, столбцов и т.д. анализируемого массива. Например:
%формируем массив размером 1x2
mas = [1 2; 3 4]
%определяем размерность массива
razmer = size(mas)
При работе с матрицами в системе Matlab, используются стандартные арифметические операторы: +, -, *, / (- левое деление), \ (- правое деление), ^ (- возведение матрицы в степень).
Для обозначения поэлементных операций с векторами и матрицами используется оператор . (- точка), который добавляется перед стандартным обозначением арифметической операции:
.* – поэлементное умножение для массивов;
.^ – возведение в степень для массивов;
.\ – левое деление для массивов;
./ – правое деление для массивов.
Пример
%формируем две матрицы 3x3
A = [1 2 3; 4 5 6; 7 8 9]
B = [1 1 1; 2 2 2; 3 3 3]
%перемножаем матрицы
C = A*B
%выполняем поэлементное умножение массивов
D = A.*B
Циклы
Для организации циклических вычислений в Matlab используются два оператора: for и while.
Синтаксис оператора for:
for <variable> = <expression>
<statements>
end
В качестве выражения <expression> обычно используется выражение вида:
i_start:i_step:i_end,
где i_start - стартовое значение счетчика цикла <variable>, i_step – шаг, с которым изменяется значение счетчика цикла, i_end - конечное значение счетчика цикла. Если шаг не задан, то по умолчанию он принимается равным 1.
Пример
for m = 1:k
for n = 1:k
a(m,n) = 1/(m+n -1);
end
end
Синтаксис оператора while:
while <expression>
<statements>
end
Операторы <statements> выполняются до тех пор, пока действительная часть выражения <expression> имеет все ненулевые элементы.
Пример
K = 1;
eps = 0;
n = 10;
while eps < n
eps = eps+k;
k = k + 1;
end
Для преждевременного выхода из циклов используется оператор break. Оператор break определен только внутри операторов for и while. Для выхода из функций необходимо использовать оператор return.
Для досрочной передачи управления на следующую итерацию цикла используется оператор continue.