Исследование методов обработки изображений с помощью пакета IMAGE PROCESSING TOOLBOX: Методические указания к лабораторным работам, страница 3

Пример

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

iptsetpref('ImshowBorder', 'tight');

%отображаем считанное изображение на экране

imshow(im);

Команда FIGURE

Используется для создания нового графического окна. Команда имеет следующий синтаксис:

¨  figure– создает новое графическое окно;

¨  figure(h) – выбирает для  вывода окно с номером h;

¨  figure('PropertyName',PropertyValue,...).

Графические объекты отображаются в системе Matlab в специальных графических окнах. Команда figure заставляет все следующие графические функции работать с текущим, вновь созданным или выбранным графическим окном с номером h. При необходимости с помощью параметра  PropertyName, присваивая ему нужные значения PropertyValue, можно задавать различные режимы отображения информации в окне. 

Пример

%отображаем изображение из файла в первом окне

imshow ('h:\labor\image\015_bmp\00000001.bmp');

%создаем новое окно с номером 2

figure;

%отображаем изображение из файла во втором окне

imshow ('h:\labor\image\015_bmp\00000002.bmp');

%выбирает текущим окно с номером 1

figure(1);

%отображаем изображение из файла в первом окне

imshow ('h:\labor\image\015_bmp\00000003.bmp');

Пример

%устанавливаем режим вывода, при котором отсутствуют

%мелькания при чтении последовательности видеокадров

figure('DoubleBuffer','on');

Команда TRUESIZE

Используется для изменения размеров окна с изменением масштаба выведенного изображения. Команда  имеет следующий синтаксис:

¨  truesize(fig, [mrows mcols]) – устанавливает для окна с номером fig размер в mrows пикселей по вертикали и mcols по горизонтали;

¨  truesize(fig) – устанавливает размер окна fig, равный размеру исходного изображения, т.е. запрещает масштабирование.

Пример

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

im = imread('my_image.bmp');

%создаем графическое окно и получаем его номер

h = figure;

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

imshow(im);

%изменяем размер окна:

% высота - 256 пикселей,

% ширина - 384 пикселей

truesize(h, [256 384]);

Команда 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, [mrowsncols], 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);

Команда IMROTATE

Для поворота изображения может использоваться функция imrotate, имеющая следующий синтаксис:

¨  B = imrotate(A, angle, method) – создает изображение B, соответствующее исходному изображению A, повернутому на угол angle, заданный в градусах. Число пикселей получаемого повернутого изображения больше или равно числу пикселей исходного. Значения пикселей изображения B, для которых отсутствуют соответствующие им пиксели изображения A, устанавливаются в 0, что, например для полутоновых изображений, соответствует черному цвету;