imcrop

Обрежьте изображение

Синтаксис

J = imcrop
J = imcrop(I)
J = imcrop(X,cmap)
J = imcrop(h)
J = imcrop(I,rect)
J = imcrop(X,cmap,rect)
J = imcrop(x,y,___)
[J,rect2] = imcrop(___)
[x2,y2,___] = imcrop(___)

Описание

J = imcrop создает интерактивный инструмент Crop Image, сопоставленный с изображением, отображенным в текущей фигуре. С этим синтаксисом и другими интерактивными синтаксисами, инструмент Crop Image блокирует командную строку MATLAB®, пока вы не завершаете операцию. imcrop возвращает кадрированное изображение, J.

Для получения дополнительной информации об использовании инструмента Crop Image смотрите Интерактивное Поведение.

пример

J = imcrop(I) отображает изображение I в окне рисунка и создает интерактивный инструмент Crop Image, сопоставленный с изображением. I может быть полутоновым изображением, изображением истинного цвета или логическим массивом.

J = imcrop(X,cmap) отображает индексируемое изображение X в фигуре, использующей палитру cmap, и создает интерактивный инструмент Crop Image, сопоставленный с тем изображением. imcrop возвращает обрезанное индексируемое изображение, J, который также имеет палитру cmap.

J = imcrop(h) создает интерактивный инструмент Crop Image, сопоставленный с изображением, заданным указателем h.

пример

J = imcrop(I,rect) обрезки изображение I согласно rect, который задает размер и положение прямоугольника обрезки как [xmin ymin width height], с точки зрения пространственных координат. Кадрированное изображение включает все пиксели во входное изображение, которые полностью или частично заключены прямоугольником.

Ширина и высота, заданная rect, не всегда соответствуют точно размеру выходного изображения. Например, предположите, что rect является [20 20 40 30], с помощью системы пространственной координаты по умолчанию. Левый верхний угол заданного прямоугольника является центром пикселя с пространственным (x, y) координаты (20,20). Правый нижний угол прямоугольника является центром пикселя с пространственным (x, y) координаты (60,50). Получившееся выходное изображение имеет размер 31 41 пиксели, не 30 40 пиксели.

пример

J = imcrop(X,cmap,rect) обрезки индексируемое изображение X с палитрой cmap согласно векторному rect, который задает размер и положение прямоугольника обрезки.

J = imcrop(x,y,___) обрезки изображение с помощью системы координат не по умолчанию, где x и y задают пределы изображений в системе мировой координаты.

пример

[J,rect2] = imcrop(___) также возвращает положение прямоугольника кадрирования в rect2.

[x2,y2,___] = imcrop(___) также возвращает пределы изображений в x2 и y2.

Примеры

свернуть все

Считайте изображение в рабочую область.

I = imread('cameraman.tif');

Открытый инструмент Crop Image сопоставлен с этим изображением. Задайте переменную, в которой можно сохранить кадрированное изображение. Пример включает дополнительное возвращаемое значение rect, в котором imcrop возвращает четырехэлементный радиус-вектор прямоугольника, который вы чертите.

[J, rect] = imcrop(I);

Когда вы перемещаете курсор через изображение, он изменяется на крест нитей. Инструмент Crop Image блокирует командную строку MATLAB, пока вы не завершаете операцию.

Используя мышь, чертите прямоугольник по фрагменту изображения, которое вы хотите обрезать.

Выполните операцию обрезки путем двойного клика в прямоугольнике обрезки или выбора Crop Image в контекстном меню.

Инструмент Crop Image возвращает обрезанную область в возвращаемой переменной, J. Переменная rect является четырехэлементным радиус-вектором, описывающим прямоугольник обрезки, который вы задали.

whos
Name        Size             Bytes  Class    Attributes

  I         256x256            65536  uint8              
  J         121x126            15246  uint8          
  rect        1x4                 32  double          

Считайте изображение в рабочую область.

I = imread('circuit.tif');

Обрежьте изображение, задав прямоугольник обрезки.

I2 = imcrop(I,[75 68 130 112]);

Отобразите оригинальное изображение и кадрированное изображение.

subplot(1,2,1)
imshow(I)
title('Original Image')
subplot(1,2,2)
imshow(I2)
title('Cropped Image')

Загрузите индексированное изображение с его связанной картой в рабочую область.

load trees

Обрежьте индексированное изображение, задав прямоугольник обрезки.

X2 = imcrop(X,map,[30 30 50 75]);

Отобразите оригинальное изображение и кадрированное изображение.

subplot(1,2,1)
imshow(X,map)
title('Original Image')
subplot(1,2,2)
imshow(X2,map)
title('Cropped Image')

Входные параметры

свернуть все

Отобразите, чтобы быть обрезанными, заданными как числовой массив. Если вы задаете rect как входной параметр, то I может также быть логическим. В противном случае imcrop вызывает imshow и принимает любые классы изображений, которые принимает imshow.

Типы данных: single | double | int8 | int16 | uint8 | uint16 | logical

Индексируемое изображение, которое будет обрезано, заданное как массив целых чисел. Если вы задаете rect как входной параметр, то I может также быть логическим. В противном случае imcrop вызывает imshow и принимает любой класс изображений это. imshow принимает.

Типы данных: single | double | int8 | int16 | uint8 | uint16 | logical

Палитра сопоставлена с индексируемым изображением, заданным как c-by-3 числовая матрица.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Размер и положение прямоугольника обрезки в пространственных координатах, заданных как числовой вектор с 4 элементами формы [xmin ymin width height].

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Обработайте к фигуре, осям, uipanel, или объекту растровой графики, заданному как указатель. Если h, оси или указатель фигуры, imcrop использует первое изображение, возвращенное findobj(H,'Type','image').

Отобразите пределы в мировых координатах вдоль x - или y - размерность, заданная как числовой вектор с 2 элементами формы [min max]. Значения x и y устанавливают изображение XData и YData. Тип данных x и y должен соответствовать.

Второй элемент x и y должен быть больше, чем первый элемент. imcrop не поддерживает системы координат с инвертированными осями.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Кадрированное изображение, возвращенное как числовой массив.

  • Если вы задаете входное изображение, то выходное изображение имеет тот же класс как входное изображение.

  • Если вы не задаете входное изображение, то выходное изображение обычно имеет тот же класс как входное изображение, присвоенное imcrop. Однако, если входным изображением является int16 или single, то выходным изображением является double.

Размер и положение прямоугольника обрезки, возвращенного как числовой вектор с 4 элементами формы [xmin ymin width height].

Отобразите пределы в x или направлении y, возвращенном как числовой вектор с 2 элементами формы [min max]. Если вы указываете, что изображение ограничивает x и y, то x2 и y2 равны этим значениям. В противном случае x2 и y2 равны оригинальному изображению XData и YData.

Больше о

свернуть все

Интерактивное поведение

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

Когда инструмент Crop Image активен в фигуре, изменениях указателя в кресте нитей, когда вы перемещаете его через целевое изображение. Используя мышь, вы задаете прямоугольник обрезки путем перетаскивания мыши. Можно переместить или изменить размер прямоугольника обрезки с помощью мыши. По окончании измерив и расположив прямоугольник обрезки, создаете кадрированное изображение путем двойного клика по левой кнопке мыши. Можно также выбрать Crop Image из контекстного меню. Следующая фигура иллюстрирует инструмент Crop Image с отображенным контекстным меню.

Интерактивное поведениеОписание
Удалите инструмент Crop Image.

Нажмите Backspace, Escape или Delete, или щелкните правой кнопкой в прямоугольнике обрезки и выберите Cancel из контекстного меню.

Примечание: Если вы удаляете ROI, функция возвращает пустые значения.

Измените размер инструмента Crop Image.Выберите любой из изменить размер указателей на прямоугольнике обрезки. Указатель изменяется на двуглавую стрелку. Перетащите мышь, чтобы изменить размер прямоугольника обрезки.
Переместите инструмент Crop Image.Переместите указатель в контуре прямоугольника обрезки. Указатель изменяется на форму fleur. Перетащите мышь, чтобы переместить прямоугольник через изображение.
Изменитесь цвет раньше отображал прямоугольник обрезки.Щелкните правой кнопкой в контуре прямоугольника обрезки и выберите Set Color из контекстного меню.
Обрежьте изображение.

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

Получите координаты прямоугольника обрезки.Щелкните правой кнопкой в контуре прямоугольника обрезки и выберите Copy Position из контекстного меню. imcrop копирует радиус-вектор с 4 элементами ([xmin ymin width height]) в буфер обмена.

Расширенные возможности

Смотрите также

|

Представлено до R2006a