Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МВРГР

.pdf
Скачиваний:
8
Добавлен:
12.02.2016
Размер:
1.61 Mб
Скачать

Оператори виконуються, якщо дійсна частина виразу має ненульові елементи. Частини ELSE та ELSEIF – необов’язкові. Можуть використовуватись нуль або більше ELSEIF, як вкладені IF.

Вираз, як правило, має форму expr rop expr, де rop є ==, <, >, <=, >=, or ~=.

Рис. 9. Вихідний сигнал фільтра у встановленому режимі для зображення приміщення з порушником.

Приклад. if I == J A(I,J) = 2;

elseif abs(I-J) == 1 A(I,J) = -1;

else A(I,J) = 0; End

Команда ELSEIF, на відміну від ELSE IF, не потребує відповідного END. Команда IMREAD зчитує зображення з графічного файлу:

A = IMREAD(FILENAME,FMT) зчитує зображення з FILENAME в A.

Якщо файл містить чорно-біле зображення, тоді A є двохвимірним масивом. Якщо файл містить кольорове (RGB) зображення, A є трьохвимірним (M-на-

11

N-на-3) масивом. FILENAME – це стрічка, що визначає ім’я графічного файлу, FMT – стрічка, яка визначає формат файлу. Файл повинен знаходитись в поточній папці або в папці на шляху Matlab. Якщо IMREAD не може знайти файл з ім’ям FILENAME, шукається файл з ім’ям

Рис. 10. Меню встановлення тривалості звукового сигналу.

Рис. 11. Меню вибору виду звукового сигналу.

FILENAME.FMT. Можливі значення для FMT знаходяться в регістрі формату зображення файлу IMFORMATS.

[X,MAP] = IMREAD(FILENAME,FMT) зчитує індексоване зображення з

FILENAME в X і пов’язану з ним палітру в MAP. Значення палітри у файлі зображення автоматично перемасштабовується в діапазон [0,1].

12

Рис. 12. Меню блокування звукового сигналу.

[...] = IMREAD(FILENAME) виводить формат файлу за його змістом.

[...] = IMREAD(URL,...) зчитує зображення з інтернет URL. URL повинен містити протокол типу (тобто, "http://").

Рис. 13. Головне меню програмної реалізації моделі системи охорони автомобіля.

Типи даних. У білшості форматах файлів зображень, що підтримуються IMREAD, пікселі зберігаються, використовуючи 8 або менше бітів на площину кольору. Якщо файл містить лише 1 біт на піксель, клас виводу є A або X. Інші файли, з 8 або меншою кількістю бітів на площину кольору, зчитуються з класом виходу uint8. IMREAD також підтримує зчитування 16- bit-на-піксель даних з BMP, TIFF та PNG файлів. Для 16-бітних TIFF та PNG файлів зображень клас виходу (A або X) є uint16, а для 16-бітних BMP файлів зоюражень клас виходу є uint8.

Синтаксис TIFF:

[...] = IMREAD(...,IDX) зчитує одне зображення з TIFF-файлу мультизображення. IDX – ціле значення, що визначає порядок зображення у файлі. Наприклад, якщо IDX є 3, IMREAD зчитає у файл третє зображення. Якщо цей аргумент опускається, IMREAD зчитує у файл перше зображення.

13

Синтаксис PNG:

[...] = IMREAD(...,'BackgroundColor',BG) пов’язує будь-які пікселі у вхідному зображенні з кольором, визначеним в BG. Якщо зображення є чорно-білим, BG повинно бути цілим в діапазоні [0,1].Якщо зображення є ти-

Рис. 14. Функціональна схема системи охорони автомобіля.

пу RGB, BG повинно бути трьохелементним вектором, значення якого знаходяться в діапазоні [0,1]. Стрічка 'BackgroundColor' може бути опущена.

Синтакс HDF:

[...] = IMREAD(...,REF) зчитує зображення в одне зображення з HDF файлу мультизображення. REF є цілим значенням, що визначає номер посилання, використаний для ідентифікації зображення. Наприклад, якщо REF дорівнює 12, IMREAD зчитує зображення, номер посилання якого дорівнює 12. (Відмітимо, що в HDF файлі номер посилання не обов’язково відповідає порядку зображення у файлі. Для відповідності порядка зображення номеру посилання, можна використовувати IMFINFO). При опусканні цього аргументу IMREAD зчитує перше зображення файлу.

Синтакс ICOта CUR:

[...] = IMREAD(...,IDX) зчитує одне зображення з файлу багатьох зображень. IDX є цілим значенням, що специфікує порядок зображення в файлі. Наприклад, якщо IDX дорівнює 3, IMREAD зчитує у файл третє зображення. Якщо цей аргумент опускається, IMREAD зчитує в файл перше зображення.

Підтримувані типи файлів:

JPEG Будь-яке JPEG-зображення; JPEG-зображення з деякими загальновикористовуваними розширеннями.

TIFF Будь-яке TIFF-зображення, включаючи 1-бітні, 8-бітні та 24-бітні нестиснені зображення; 1-бітні, 8-бітні та 24-бітні зображення з побітовим пакуванням; 1-бітні зображення з CCITT пакуванням; 16-бітні чорно-білі, 16бітні індексовані та 48-бітні RGB GIF –зображення. Будь-яке, від 1-бітного до 8-бітного GIF-зображення.

14

Рис. 15. Зображення місця охорони з автомобілем.

BMP 1-бітні, 4-бітні, 8-бітні, 16-бітні, 24-бітні та 32-бітні неспаковані зображення; 4-бітні та 8-бітні закодовані (RLE) зображення поточної довжини.

PNG Будь-яке PNGзображення, включаючи 1-бітні, 2-бітні, 4-бітні, 8- бітні та 16-бітні чорно-білі зображення; 8-бітні та 16-бітні індексовані зображення; 24-бітні та 48-бітні RGB-зображення.

HDF 8-бітні растрові зображення з відповідною палітрою або без неї; 24бітні растрові зображення.

PCX 1-бітні, 8-бітні та 24-бітні зображення.

ICO 1-бітні, 4-бітні та 8-бітні неспаковані зображення. Команда IMAGE демонструє такі зображення:

IMAGE(C) показує матрицю C, як зображення. Кожний елемент С визначає колір прямолінійної ділянки в зображенні. С може бути матрицею розмірності MxN або MxNx3 і містити дані double, uint8 або uint16. Коли C є 2-вимірною MxN матрицею, для визначення кольору, як індекси в біжучій палітрі COLORMAP, використовуються елементи C. Властивість зображення об’єкту CDataMapping визначає метод, використаний для вибору палітри.

15

Рис. 16. Зображення місця охорони з порушенням.

IMAGE(C) розміщує центр елемента C(1,1) в точці (1,1) осей координат, а центр елемента (M,N) в точці (M,N) і зображує кожний прямокутний елемент одиничної довжини і глибини.

IMAGE(X,Y,C), де X та Y є векторами, що визначають положення центрів пікселів C(1,1) та C(M,N).

IMAGE повертає до IMAGE об’єкт С.

Команда FOR Повторює оператори визначену кількість разів. Загальна форма команди FOR:

FOR змінна = вираз, оператор, ..., оператор END

Приклад (припускається, що значення N задано): FOR I = 1:N,

FOR J = 1:N, A(I,J) = 1/(I+J-1);

END END

Для передчасного переривання циклу може використовуватись оператор

BREAK.

16

Рис. 17. Часова залежність сигналу сенсора у встановленому режимі після подачі сигналу зображення автомобіля.

Команда AXIS контролює масштабування і появу осей наступним чином: AXIS([XMIN XMAX YMIN YMAX]) встановлює масштабування для осей

x- та y- на поточному графіку.

AXIS([XMIN XMAX YMIN YMAX ZMIN ZMAX]) встановлює масштабування для осей x-, y- та z- на поточному 3-D графіку.

AXIS([XMIN XMAX YMIN YMAX ZMIN ZMAX CMIN CMAX])

встановлює масштабування для осей x-, y-, z- та межі масштабування кольору на поточній осі.

V = AXIS повертає вектор-рядок, що містить масштабування для поточного графіку. Якщо поточний графік є типу 2-D, V має чотири компоненти, якщо 3-D, V має шість компонентів.

AXIS AUTO задає автоматичне масштабування осей.

AXIS MANUAL встановлює ручний режим масштабування осей. AXIS TIGHT встановлює межі осей в діапазоні даних.

AXIS FILL задає межі осей і PlotBoxAspectRatio так, що осі набувають форми прямокутника.

17

Рис. 18. Часова залежність сигналу сенсора у встановленому режимі після подачі сигналу зображення місця охорони без автомобіля.

AXIS IJ вводить Matlab в режим "матричних" осей. Початок системи координат знаходиться у верхньому лівому куті.Вісь і є вертикальною і нумерується зверху до низу. Вісь j є горизонтальною і нумерується зліва направо.

AXIS XY вводить Matlab в режим декартової системи координат. Початок системи координат знаходиться у нижньому лівому куті. Вісь x є горизонтальною і нумерується зліва направо. Вісь y є вертикальною і нумерується знизу вверх.

AXIS SQUARE формує поточні осі квадратного розміру.

AXIS NORMAL відновлює поточні осі до повного розміру і видаляє будьякі обмеження на масштабування.

AXIS OFF знімає все маркування осей і їх надписи. AXIS ON повертає позначення осей і надписи.

Команда MEAN Усереднене або середнє значення. Для векторів, MEAN(X) є середнім значенням елементів X. Для матриць, MEAN(X) є вектором-рядком, що містить середнє значення кожного стовпчика. Для N-D масивів, MEAN(X) є середнім значенням елементів вздовж першого виміру X. MEAN(X,DIM) дає середнє вздовж розмірності DIM of X.

18

Рис. 19. Меню вибору кількості звукових сигналів.

Рис. 20. Меню вибору виду звукових сигналів.

Приклад: If X = [0 1 2 3 4 5]

Тоді середнє (X,1) є [1.5 2.5 3.5] і середнє (X,2) є [1].

Команда IMAGESC Масштабує дані і показує їх, як зображення. IMAGESC(...) є тим же, що й IMAGE(...) за винятком того, що дані є

масштабованими для використання повної палітри.

IMAGESC(...,CLIM), де CLIM = [CLOW CHIGH], може визначати масштабування.

Команда LOAD завантажує змінні з диску в робочий простір.

LOAD FILENAME відновлює всі змінні з файлу, заданого повним імям або відносним частковим імям шляху MATLABPATH. Якщо FILENAME не має розширення, LOAD шукає FILENAME та FILENAME.mat і трактує його,

19

як двійковий "MAT-файл". Якщо FILENAME не має розширення іншого, крім .mat, він трактується, як ASCII.

LOAD FILENAME X завантажує X.

LOAD FILENAME X Y Z ... завантажує тільки визначені змінні.

If FILENAME є MATфайлом, що запитує змінні з FILENAME, створені в робочому просторі. Якщо FILENAME не знаходиться, MATфайл створюється з імям, що базується на FILENAME.

Команда SOUND Відтворює вектор у вигляді звуку.

SOUND(Y,FS) посилає сигнал вектора Y (з зразковою частотою FS) до динаміка на платформах, які підтримують звук. Припускається, що значення Y знаходиться в діапазоні -1.0 <= y <= 1.0. Значення, які знаходяться за межами цього діапазону, ігноруються. Стереозвуки відтворюються на платформах, які їх підтримують, коли Y є N-на-2 матрицею.

SOUND(Y) відтворює звук з частотою 8192 Гц.

SOUND(Y,FS,BITS) відтворює звук, використовуючи BITS бітів/на зразок, якщо це можливо. Більшість платформ підтримують 8 або 16 біт.

Приклад: load handel sound(y,Fs)

Повинна прослуховуватись частина твору Генделя “Алілуйя”. Команда PAUSE Очікує на відповідь користувача.

PAUSE(n) робить паузу протягом n секунд, де n може бути і дробом. Роздільна здатність годинника залежить від платформи. Дробові паузи типу 0.01 секунди на більшості платформ повинні підтримуватись.

PAUSE викликає процедуру зупинки і очікування удару користувача по якійсь клавіші.

PAUSE OFF вказує, що будь-яка наступна команда PAUSE або n команд PAUSE не повинні робити паузи.

PAUSE ON вказує, що подальші команди PAUSE повинні робити паузу. Команда PLOT Лінійний графік.

PLOT(X,Y) малює вектор Y за вектором X. Якщо X або Y є матрицею, тоді вектор малюється за рядками або стовпчиками матриці. Якщо X є скаляром, а Y вектором довжиною length(Y), малюються розривні точки.

PLOT(Y) малює стовпчики Y за їх індексами. Якщо Y є комплексним, PLOT(Y) є еквівалентним до PLOT(real(Y),imag(Y)). У всіх інших застосуваннях PLOT уявна частина ігнорується.

За допомогою PLOT(X,Y,S) можуть бути отримані різні типи ліній, графічних символів та кольорів, де S є стрічкою символів, отриманою з одного елемента з будь-якого або всіх наступних 3 стовпчиків:

b

синій

.

крапка

-

жирний

g

зелений

o

коло

:

штрих

r

червоний

x

знак x

-. штрих-пунктир

c

ціановий

+

плюс

--

пунктир

m

червоно-аніліновий

*

зірка

v

трикутник (вниз)

y

жовтий

s

квадрат

^

трикутник (вверх)

 

 

 

20

 

 

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