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

Команда subplot

Разбивает текущее окно на подокон и устанавливает текущим подокно с номером p. Команда имеет следующий синтаксис:

  • subplot(m, n, p).

Подокна нумеруются слева направо и сверху вниз, начиная от левого верхнего подокна, которое имеет номер 1. Следует учитывать, что при выводе нескольких изображений с разными размерами происходит их масштабирование по последнему.

Пример

%считываем изображения

image1 = imread('my_image1.bmp');

image2 = imread('my_image2.bmp ');

%отображаем считанные изображения вместе в одном

%окне, расположив их горизонтально

subplot(1,2,1), imshow(image1);

subplot(1,2,2), imshow(image2);

Команда imresize

С помощью функции imresize можно создать новое изображение заданного размера из исходного изображения любого типа:

    • B = imresize(A, m, method) – создает изображение B, размеры которого в m раз отличаются от размеров исходного изображения A. Если m принадлежит диапазону от 0.0 до 1.0, то B меньше A. Если m больше 1, то B больше A;

    • B = imresize(A, [mrows ncols], method) – создает изображение B с размерами mrows ncols.

Для изменения размера используются следующие методы интерполяции, задающиеся во входном параметре method в виде одной из следующих строк:

  • nearest – использовать значение ближайшего пикселя;

  • bilinear – использовать интерполяцию по билинейной поверхности;

  • bicubic – использовать интерполяцию по бикубической поверхности.

Тип и формат представления данных результирующего изображения совпадают с типом и форматом исходного.

Пример

%считываем исходное изображение

I = imread('ic.tif');

%увеличиваем линейные размеры изображения в 2 раза

J = imresize (I, 2,'bilinear');

%отображаем исходное

imshow(I);

%отображаем масштабированное в новом окне

figure; imshow(J);

Команда imcrop

Для того, чтобы вырезать из исходного изображения некоторую часть, может использоваться функция imcrop:

  • D=imcrop(S) и Xd=imcrop(Xs, map) выводят на экран бинарное, полутоновое, полноцветное изображение S и палитровое изображение Xs и ожидают задания с помощью мыши прямоугольника, ограничивающего вырезаемый фрагмент. Для указания положения одного из углов ограничивающего прямоугольника следует нажать на левую кнопку мыши. Положение противоположного угла ограничивающего прямоугольника будет задано, если, не отпуская кнопку мыши, переместить курсор, а затем отпустить кнопку. Когда требуется задать квадратный фрагмент, следует при перемещении курсора мыши держать нажатой клавишу Shift. Функция imcrop возвращает изображение, ограниченное заданным прямоугольником. Если выходные параметры не заданы, например imcrop(I), то результат отображается в новом графическом окне. Если не определены входные параметры, например D=imcrop, то функция imcrop оперирует с изображением в текущем графическом окне;

  • D=imcrop(S, rect) и Xd=imcrop(Xs, map, rect) позволяют явно определить ограничивающий прямоугольник rect - вектор из четырех элементов: [xmin ymin w h], которые задают положение левого верхнего угла (xmin, ymin) прямоугольника, а также его ширину w и высоту h в пространственных координатах.

Формат представления данных и тип результирующего изображения совпадает с форматом и типом исходного изображения.

Пример

%считываем изображение

I1 = imread('ic.tif');

%вырезаем заданную область изображения

I2 = imcrop(I1, [60 40 100 90]);

%отображаем исходное изображение

imshow(I1);

%отображаем преобразованное изображение

%в новом окне

figure; imshow(I2);

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