Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_по_ изображениям.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
7.5 Mб
Скачать

Условные операторы

Для реализации ветвления реализованы следующие операторы: 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. Сделать на графике соответствующие поясняющие надписи: обозначения осей, заголовок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]