¨ B = imrotate(A, angle, method, 'crop') – возвращает изображение B, размеры которого совпадают с размерами исходного. Для этого берется центральная часть повернутого изображения.
При преобразовании используется один из предопределенных методов интерполяции, который задается в параметре method точно так же, как и в функции imresize.
Пример
%считываем исходное изображение
I = imread('ic.tif');
%поворачиваем по часовой стрелке на 4 градуса,
%линейные размеры получаемого изображения
%соответствуют линейным размерам исходного
J = imrotate(I,-4,'bilinear','crop');
%отображаем исходное
imshow(I);
%отображаем повернутое в новом окне
figure; imshow(J);
Команда PLOT
Позволяет построить двумерный график. Команда имеет следующий синтаксис:
¨ plot(X, Z),
где X – вектор значений координат по оси X, Z – матрица значений функции Z=f(X).
Команда HOLD
Для того чтобы добавить новые графики в текущее графическое окно, используется команда hold. Команда hold on включает, а команда hold off выключает режим сохранения графика. Команда hold реализует переключение от одного режима к другому.
Пример
%формируем вектор координат
i=0:0.001:4*pi
%отображаем на одном графике значения функций
%sin и cos для этого вектора
plot(sin(i), 'g'); hold; plot(cos(i), 'r');
Команда MESH
Функция mesh позволяет соединить друг с другом все соседние точки поверхности графика отрезками прямых и показывает плоскую проекцию такого объемного каркасно-ребристого тела.
Пример
%считываем изображение
I = imread('cameraman.tif');
%отображаем поверхность
mesh(double(I));
Команда SURF
В отличие от функции mesh, функция surf позволяет раскрасить не ребра, а грани каркасно-ребристого тела.
Пример
%считываем изображение
I = imread('cameraman.tif');
%отображаем поверхность
surf(double(I));
Команда IMHIST
Строит гистограмму распределения яркостей изображения. Команда имеет следующий синтаксис:
¨ imhist(I);
¨ imhist(I,n),
где n– число интервалов, на которые разбивается весь диапазон яркостей изображенияIпри построении гистограммы.
Пример
%считываем изображение
I = imread('cameraman.tif');
%сторим гистограмму при 32 интервалах яркости
imhist(I,32);
Команда TEXT
Используется для отображения текста на графике. Имеет следующий формат:
¨ text(x, y, ’<текст>’) – помещает в заданной точке (x, y) двумерного графика начало текста, указанного в качестве третьего аргумента. Если x и y - одномерные массивы, заданный текст помещается во все позиции, определяемые координатами [x(i) y(i)];
¨ text(x, y, z, ’<текст>’) – выводит текст на трехмерный график.
Пример
%Записать символ ‘x’ в трех точках
%с координатами (1, 1), (5, 10), (10, 20)
plot([1 5 10], [1 10 20], ’x’);
%Написать, начиная с позиции (5, 10)
%текст ‘Action point’:
text(5, 10, ‘Action point’);
Команда XLABEL
Используется для размещения текста вдоль оси координат X двумерного или трехмерного графика. Команда имеет следующий формат:
¨ xlabel('<текст>') помещает текст: для двумерного графика вдоль оси x, для трехмерного графика - вдоль оси x либо под графиком.
Команда YLABEL
Используется для размещения текста вдоль оси координат Y двумерного или трехмерного графика. Команда имеет следующий формат:
¨ ylabel('<текст>') помещает текст: для двумерного графика вдоль оси y, для трехмерного графика - вдоль оси y либо под графиком.
Команда ZLABEL
Используется для размещения текста вдоль оси координат Z трехмерного графика. Команда имеет следующий формат:
¨ zlabel('<текст>').
Повторное использование команды приводит к замене старого текста новым.
Пример
%формируем вектор координат
i=0:0.001:4*pi
%отображаем значения функции sin
plot(sin(i));
%выводим подпись под осью x вида
%«function y=sin(x)»
xlabel(‘function y=sin(x)’);
Команда LEGEND
Используется для добавления к графику текстовых пояснений. Команда имеет следующий синтаксис:
¨ legend(‘<текст1>‘, ‘<текст2>‘, ‘<текст3>‘, ...) – добавляет к текущему графику пояснение в виде указанных текстовых строк;
¨ legend off – удаляет пояснение с текущего графика;
¨ legend(..., n) – устанавливает предельное количество позиций для размещения пояснения. Если оказывается, что в области графика места недостаточно, график перестраивается и пояснение размещается вне пределов графика. Если n = -1, то пояснение размещается вне области графика. Если n = 0, то пояснение размещается в области графика, если места для этого достаточно.
Для перемещения пояснения следует нажать левую кнопку мыши, находясь в этой области, а затем переместить пояснение в нужную позицию.
Пример
%Построим на одном графике
%функции Бесселя 1, 3 и 5-го порядка
x = 0 : .2 : 12;
plot(x, bessel(1, x), ‘-’, x, bessel(3, x), ‘--’, x, bessel(5, x), ‘-.’);
%отобразим соответствующий комментарий
legend('Porjadok 1', 'Porjadok 3', 'Porjadok 5', -1);
%отобразим линии сетки
grid;
4. Команды и операторы системы MATLAB,
используемые в лабораторной работе
clc – очистка командного окна.
closeall – закрытие всех окон с фигурами.
Матричные операторы
Оператор : применяется для формирования векторов и матриц или для выделения из них подвекторов, подматриц, подблоков массива.
Формирование векторов
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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.