Применение MATLAB для моделирования радиотехнических сигналов и устройств. Учебно-методическое пособие
.pdf7.Реализовать функцию пастеризации исходного изображения. Получить пастеризованные изображения для диапазонов изменения ярко-
сти в 2, 4, 6, 8, 16, 32 уровня.
8.Получить гистограмму исходного изображения в каждом цветовом канале, а также гистограмму яркости изображения. Вывести их на экран в одном графическом окне.
9.Реализовать функцию гамма-коррекции изображения и функцию коррекции яркости-контрастности изображения с произвольно задаваемой характеристикой преобразования.
10.Получить градиент от исходного изображения. Сравнить полученное изображение с исходным.
11.Реализовать функцию плавного перехода одного изображения
вдругое на основе взвешенного среднего арифметического.
41
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Официальный сайт MathWorks. Documentation [Электронный ресурс]. –
Режим доступа: http://www.mathworks.com/help/index.html.
2.Свердлов С.З. Языки программирования и методы трансляции: учебное пособие. – СПб.: Питер, 2007. – 638 с.
3.Дьяконов В.П. MATLAB 7.*/R2006/R2007: Самоучитель. – М.: ДМК Пресс, 2008. – 768 с.
4.Официальный сайт MathWorks. MATLAB Compiler [Электронный ре-
сурс]. – Режим доступа: https://www.mathworks.com/products/compiler.html
5.Официальный сайт MathWorks. Matlab. What's New [Электронный ре-
сурс]. – Режимдоступа: https://www.mathworks.com/products/matlab/whatsnew. tml.
6.Справочные материалы по функциям обработки сигналов MATLAB. Методические указания к практическим занятиям по дисциплине «Математическое моделирование радиотехнических устройств и систем». № 4549 621.39 С741 / сост.: С.В. Тырыкин, Р.Ю. Белоруцкий. – Новосибирск: Изд-во НГТУ, 2016. – 40 [3] c.
7.Официальный сайт MathWorks. Documentation: Logical Operators: Short-Circuit && || [Электронный ресурс]. – Режим доступа: http://www. mathworks.com/help/matlab/ref/logicaloperatorsshortcircuit.html.
8.Официальный сайт MathWorks. Documentation: Compatible Array Sizes for Basic Operations [Электронный ресурс]. – Режим доступа: http://www.mathworks.com/help/matlab/matlab_prog/compatible-array-sizes-for- basic-operations.html.
9.Официальный сайт MathWorks. Documentation: find [Электронный ресурс]. – Режим доступа: http://www.mathworks.com/help/matlab/ref/ find.html.
10.Официальный сайт MathWorks. Documentation: while [Электронный ресурс]. – Режим доступа: http://www.mathworks.com/help/matlab/ref/while.html.
11.Официальный сайт MathWorks. Documentation: Empty Matrices, Scalars, and Vectors [Электронный ресурс]. – Режим доступа: http://www. mathworks.com/help/matlab/math/empty-matrices-scalars-and-vectors.html.
12.Официальный сайт MathWorks. Documentation: function [Электронный ресурс]. – Режим доступа: http://www.mathworks.com/help/matlab/ref/ function.html.
13.Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MATLAB 7. – СПб.:
БХВ-Петербург, 2005. – 1104 с.
14.Официальный сайт MathWorks. Documentation: Graphics Objects [Электронный ресурс]. – Режим доступа: https://www.mathworks.com/help/ matlab/creating_plots/graphics-objects.html.
15.Официальный сайт MathWorks. Documentation: text [Электронный ресурс]. – Режим доступа: https://www.mathworks.com/help/matlab/ref/text.html.
42
ПРИЛОЖЕНИЯ
Приложение 1
Работа с графическими объектами. Справка по функциям
get – возвращает свойства графического объекта
get(h) – возвращает все свойства и их значения графического объекта, обозначенного указателем h. get(h,'PropertyName') – возвращает значение свойства 'PropertyName' графического объекта, обозначенного указателем h
set – устанавливает свойства графического объекта
set(h,'PropertyName',PropertyValue,...) – устанавливает значения 'PropertyValue' свойствам, указанным строкой 'PropertyName', где h – указатель на объект. h может быть также вектором указателей на несколько объектов, в этом случае функция устанавливает значения свойств для всех объектов
reset(h) – сбрасывает все свойства графического объекта с указателем h на их значения по умолчанию. Свойства, не имеющие значений по умолчанию, не изменяются
inspect(h) – открывает окно инспектора свойств (Property Inspector) объекта с указателем h
inspect –close – закрывает окно инспектора свойств
findobj – возвращает указатели на объекты
h = findobj('PropertyName',PropertyValue,...) – возвра-
щает указатели на все объекты, имеющие свойство PropertyName со значением PropertyValue. Можно задать больше, чем одно свойство, в этом случае функция найдет только объекты, имеющие все заданные свойства
43
figure; x=-2:0.01:2;
plot(x,x.^2,'r',x,x.^3,'b',x,-4*x,'b');
Поиск указателей на объекты типа «линия»:
>> h=findobj('Type','line')
h=
176.0294
175.0294
174.0299
Поиск указателей на все объекты, имеющие параметр 'Color' (соответствующий голубому цвету):
>> h=findobj('Color','b')
h=
176.0294
175.0294
Поиск указателей на объекты типа «оси»:
>> h=findobj('Type','axes')
h=
173.0294
44
Поиск указателей на объекты типа «графическое окно»:
>> h=findobj('Type','figure')
h =
1
h = gcf – возвращает указатель на текущее графическое окно
h = gca – возвращает указатель на текущие оси
plot – построение двухмерного графика (создание графического объекта типа «линия»)
h = plot(X1,Y1,LineSpec1…,Xn,Yn,LineSpecn) – в одних осях строит графики каждого вектора Yn в зависимости от значений вектора Xn. Векторы Yn и Xn должны быть одинаковой длины. Аргументы функции LineSpec1,…LineSpecn задают для каждой линии тип, цвет, тип маркера (прил. 2). h – вектор из n указателей на объекты типа «линия». plot(…,Name,Value) – задаются свойства создаваемой линии с помощью пар переменных Name и Value, где Name – имя свойства, а Value – значение свойства (прил. 2). plot(Y) – построение графика значений вектора Y в зависимости от номера индекса, если Y – вещественное число. Для комплексного Y функция plot(Y) эквивалентна plot(real(Y),imag(Y)).
plot(h_axes,…) – построение линии в осях, заданных указателем h_axes. h_axes может предшествовать любым входным аргументам функции plot, описанным выше
figure – создает пустое графическое окно
h = figure – создает пустое графическое окно и возвращает указатель на него.
figure(Name,Value) - задаются свойства графического окна с помощью пар переменных Name и Value, где Name – имя свойства, а Value – значение свойства (прил. 2)
45
axes – создает оси декартовой системы координат в теку-
щем графическом окне.
h = axes – создает оси и возвращает указатель на них. axes(Name,Value) - задаются свойства осей с помощью пар переменных Name и Value, где Name – имя свойства, а Value – значение свойства (прил. 2).
axes('Parent',h) – создает оси в графическом окне (figure), заданном указателем h
h = text(x,y,txt) – добавляет текстовое описание (созда-
ет графический объект типа «text») одной или нескольких точек в текущих осях. Текст задается переменной txt. Для того чтобы добавить описание к одной точке, необходимо задать x и y скалярными величинами в единицах измерения, соответствующих графику. Для того чтобы добавить к нескольким точкам, x и y должны быть векторами равной длины.
h – вектор указателей на текстовые описания
x=0:0.01:pi;
y=x+sin(2*x);
hp=plot(x,y); x1=[1 2]; y1=[2.05 1.1];
txt = {'локальный максимум','локальный минимум'}; text(x1,y1,txt);
46
Приложение 2
Значение свойств объектов
Значения свойств объекта «линия» (line)
Имя свойства |
Значение свойства |
Описание |
|
|
- |
Сплошная линия (по умолчанию) |
|
LineStyle |
-- |
Штриховая линия |
|
: |
Пунктирная линия |
||
|
-. |
Штрих-пунктирная линия |
|
|
Положительное число |
Толщина линии. Если на линию |
|
LineWidth |
|
нанесены маркеры, это свойство |
|
|
задает также толщину контуров |
||
|
|
маркеров |
|
|
'y' или [1 1 0] |
Желтый |
|
|
'm' или [1 0 1] |
Пурпурный |
|
|
'c' или [0 1 1] |
Зеленовато-голубой |
|
Color |
'r' или [1 0 0] |
Красный |
|
'g' или [0 1 0] |
Зеленый |
||
|
|||
|
'b' или [0 0 1] |
Голубой |
|
|
'w' или [1 1 1] |
Белый |
|
|
'k' или [0 0 0] |
Черный |
|
|
o |
Круг |
|
|
+ |
Знак «плюс» |
|
|
* |
Звездочка |
|
|
. |
Точка |
|
|
x |
Крест |
|
Marker |
s |
Квадрат |
|
d |
Бриллиант |
||
|
^ |
Треугольник, направленныйвверх |
|
|
v |
Треугольник, направленный вниз |
|
|
> |
Треугольник, направленныйвправо |
|
|
< |
Треугольник, направленный влево |
|
|
p |
Пентаграмма |
|
|
h |
Гексаграмма |
|
MarkerSize |
Положительное число |
Размер маркера |
|
Type |
line |
Свойство, предназначенное только |
|
|
для чтения. Позволяет находить |
||
|
|
объектыпоихтипу |
|
|
47 |
|
Значения свойств объекта «оси» (axes)
Имя свойства |
Значение свойства |
|
Описание |
||
Color |
Аналогичны свойству |
Color для объекта «линия» |
|||
(цвет заднего фона) |
|
|
|
|
|
Box |
on |
|
|
Очерчивать линии рамки вокруг |
|
|
|
|
|
осей |
|
|
off |
|
|
Не очерчивать |
|
LineWidth |
Положительное чис- |
Толщина рамки вокруг осей, |
|||
|
ло |
|
|
штриховых меток на координат- |
|
|
|
|
|
ных осях, линий сетки |
|
XLim |
Двухэлементный |
Границы значений по оси X. |
|||
|
вектор вида |
|
Из двух границ можно задать од- |
||
|
[min max], |
min |
ну, а вторая установится автома- |
||
|
где значение |
тически. Например: |
|||
|
меньше |
max |
|
[-inf 0] или [0 inf] |
|
YLim |
Аналогично XLim |
|
|
||
ZLim |
Аналогично XLim |
|
|
||
XTick |
Вектор |
возрастаю- |
Положение штриховых меток на |
||
|
щих значений. |
|
координатных осях |
||
|
Например: [1 2 3] |
|
|
||
YTick |
Аналогично XTick |
|
|
||
ZTick |
Аналогично XTick |
|
|
||
XGrid |
on |
|
|
Отображать линии координатной |
|
|
|
|
|
сетки вдоль линии постоянного |
|
|
|
|
|
значения x |
|
|
off (по умолчанию) |
Не отображать |
|||
YGrid |
Аналогично XGrid |
|
|
||
ZGrid |
Аналогично XGrid |
|
|
||
|
Аналогичны |
свой- |
Стиль линий координатной сетки |
||
|
ству |
LineStyle |
|
|
|
GridLineStyle |
для объекта «ли- |
|
|
||
ния». |
|
|
|
|
|
|
Значение 'none' |
|
|
||
|
соответствует отсут- |
|
|
||
|
ствию линии |
|
|
|
|
XColor |
Аналогичны |
свой- |
Цвет оси X, штриховых меток, |
||
ству Color для объ- |
подписей к меткам, подписи к |
||||
|
екта «линия» |
|
оси |
||
YColor |
|
|
|
Аналогично XColor |
|
ZColor |
|
|
|
Аналогично XColor |
|
|
|
|
48 |
|
|
|
|
|
|
|
|
|
Окончание табл. |
|
|
|
|
|
|
|
|
Имя свойства |
|
|
|
Значение свойства |
|
Описание |
|
Parent |
|
|
|
|
Указатель на родительский объект |
||
Children |
|
|
|
|
Указатель на дочерние объекты |
||
Type |
|
|
|
|
axes |
|
Свойство, предназначенное толь- |
|
|
|
|
|
|
ко для чтения. Позволяет нахо- |
|
|
|
|
|
|
|
|
дить объекты по их типу |
Значения свойств объекта «графическое окно» (figure) |
|||||||
|
|
|
|
|
|
|
|
Имя свойства |
|
|
|
Значение свойства |
|
Описание |
|
Color |
|
|
|
|
Аналогичны свойству |
Color для объекта «линия» |
|
(цвет |
заднего |
|
|
|
|||
фона окна) |
|
|
|
|
|
|
|
Name |
|
|
|
|
Вектор символов |
Имя графического окна |
|
|
|
|
|
|
on |
Графическое окно становится ви- |
|
|
|
|
|
|
|
димым |
|
Visible |
|
|
|
|
off |
Графическое окно становится не- |
|
|
|
|
|
|
видимым, при этом сохраняется |
||
|
|
|
|
|
|
доступ к его параметрам и воз- |
|
|
|
|
|
|
|
можность их изменения |
|
Parent |
|
|
|
|
Указатель на родительский объект |
||
Children |
|
|
|
|
Указатель на дочерние объекты |
||
Type |
|
|
|
|
figure |
Свойство, предназначенное толь- |
|
|
|
|
|
|
ко для чтения. Позволяет нахо- |
||
|
|
|
|
|
|
дить объекты по их типу |
|
|
|
Значение свойств объекта «текст» (text) |
|||||
|
|
|
|
|
|
|
|
Имя свойства |
|
|
|
Значение свойства |
|
Описание |
|
|
|
|
tex |
|
Интерпретирует текстовые сим- |
||
|
|
|
latex |
|
волы с использованием форматов: |
||
|
|
|
none |
|
TeX (по умолчанию) или LaTeX. |
||
Interpreter |
|
|
|
|
|
В случае значения 'none' текст |
|
|
|
|
|
|
отображается буквально. |
||
|
|
|
|
|
|
|
Таблица специальных символов, |
|
|
|
|
|
|
|
поддерживаемых форматом TeX, |
|
|
|
|
|
|
|
представлена в приложении 3 [15] |
Color |
|
|
Аналогичны свойству C |
olor для объекта «линия» |
|||
FontName |
|
|
Например, 'Cambria' |
Имя шрифта |
|||
|
|
49 |
|
|
|||
|
|
|
Продолжение табл. |
|
|
|
|
||
Имя свойства |
Значение свойства |
Описание |
||
FontSize |
Скалярное |
значение |
Размер шрифта |
|
больше нуля |
|
|
|
|
|
(по умолчанию 10) |
|
|
|
|
points |
|
Пункты. Один пункт эквива- |
|
|
|
|
лентен 1/72 дюйма |
|
|
inches |
|
Дюймы |
|
|
centimeters |
|
Сантиметры |
|
|
normalized |
|
Нормированные единицы из- |
|
FontUnits |
|
|
мерения. |
|
|
|
Размер шрифта интерпретиру- |
||
(единицы |
|
|
ется как доля от высоты рамки |
|
измерения |
|
|
вокруг осей. При изменении |
|
размера шрифта) |
|
|
размера осей размер текста |
|
|
|
|
изменяется |
соответственно. |
|
|
|
Например, при размере 0,1 в |
|
|
|
|
нормированных единицах из- |
|
|
|
|
мерения текст составит 1/10 от |
|
|
|
|
высоты рамки |
|
|
pixels |
|
Пиксели |
|
FontAngle |
normal |
|
Нет (по умолчанию) |
|
italic |
|
Наклонный стиль. |
||
(наклон |
|
|||
символов) |
|
|
Примечание: |
не все шрифты |
|
|
поддерживают оба стиля |
||
|
|
|
||
FontWeight |
normal |
|
Толщина по умолчанию |
|
(толщина |
bold |
|
Утолщенный стиль |
|
символов) |
|
|
|
|
FontSmoothing |
on |
|
Применяется сглаживание (по |
|
|
|
умолчанию). Уменьшается зуб- |
||
(сглаживание |
|
|
чатостьлиний шрифта |
|
шрифта) |
|
|
||
off |
|
Нет |
|
|
|
|
|
||
|
Положительное или отри- |
Ориентация |
текста, заданная |
|
|
цательное число |
|
скалярной величиной в граду- |
|
Rotation |
|
|
сах. По умолчанию 0, что со- |
|
|
|
ответствует |
горизонтальной |
|
|
|
|
ориентации. |
Положительное |
|
|
|
значение поворачивает текст |
|
|
|
|
против часовой стрелки |
|
Visible |
Аналогичны свойству Visible для объекта «графическое |
|||
окно» |
|
|
|
|
Type |
text |
|
Свойство, |
предназначенное |
|
только для чтения. Позволяет |
|||
|
|
|
находить объекты по их типу |
|
|
|
50 |
|
|
