MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
裁剪图像
Icropped = imcrop
Icropped = imcrop(I)
Xcropped = imcrop(X,cmap)
___ = imcrop(h)
Icropped = imcrop(I,rect)
Xcropped = imcrop(X,cmap,rect)
___ = imcrop(xref,yref,___)
[___,rectout] = imcrop(___)
[xrefout,yrefout,___] = imcrop(___)
imcrop(___)
注意
交互式语法不支持分类图像。对于分类图像,您必须指定裁剪区域 rect。
rect
Icropped = imcrop 创建交互式裁剪图像工具以裁剪当前图窗中显示的灰度、真彩色或二值图像。imcrop 返回裁剪的图像 Icropped。
Icropped
imcrop
使用此语法和其他交互式语法,裁剪图像工具会阻止 MATLAB® 命令行,直到您完成操作。有关使用裁剪图像工具的详细信息,请参阅交互式行为。
Icropped = imcrop(I) 在图窗窗口中显示灰度图像、真彩色图像或二值图像 I,并创建交互式裁剪图像工具以裁剪图像。
I
示例
Xcropped = imcrop(X,cmap) 使用颜色图 cmap 在图窗中显示索引图像 X,并创建交互式裁剪图像工具以裁剪图像。imcrop 返回裁剪的索引图像 Xcropped,该图像也具有颜色图 cmap。
Xcropped
X
cmap
___ = imcrop(h) 创建一个交互式裁剪图像工具来裁剪图形对象 h 中的图像。
h
Icropped = imcrop(I,rect) 根据在裁剪矩形 rect 中指定的位置和维度裁剪图像 I。裁剪的图像包括输入图像中该矩形完全或部分包围的所有像素。
输出图像的实际大小并不始终与 rect 指定的宽度和高度完全一致。例如,假设 rect 是 [20 20 40 30](使用默认的空间坐标系)。指定矩形的左上角是空间 (x,y) 坐标为 (20,20) 的像素的中心。矩形的右下角是空间 (x,y) 坐标为 (60,50) 的像素的中心。生成的输出图像大小为 31×41 像素,而不是 30×40 像素。
[20 20 40 30]
Xcropped = imcrop(X,cmap,rect) 根据裁剪矩形 rect 中指定的位置和维度,裁剪具有颜色图 cmap 的索引图像 X。imcrop 返回裁剪的索引图像 Xcropped,该图像也具有颜色图 cmap。
___ = imcrop(xref,yref,___) 使用 xref 和 yref 定义的世界坐标系裁剪输入图像。在 xref 和 yref 输入参量后,您可以指定包含输入图像 I 或 X 的任何语法的参量。
xref
yref
[___,rectout] = imcrop(___) 还在 rectout 中返回裁剪矩形的位置。您可以使用任何其他语法的输入参量。
rectout
[xrefout,yrefout,___] = imcrop(___) 还在 xrefout 和 yrefout 中返回输入图像的图像范围。
xrefout
yrefout
不带输出参量的 imcrop(___) 在新图窗窗口中显示裁剪的图像。此语法不支持分类图像。
全部折叠
将图像读入工作区。
I = imread('llama.jpg');
打开与此图像关联的裁剪图像工具。指定用于存储裁剪的图像的变量。示例包括可选的返回值 rect,其中 imcrop 返回您绘制的矩形的四元素位置向量。
[J,rect] = imcrop(I);
当您将光标移到图像上方时,它会变为十字准线。裁剪图像工具会阻止命令行,直到您完成操作。
使用鼠标,在要裁剪的图像部分上绘制矩形。通过双击裁剪矩形内部或在上下文菜单中选择裁剪图像来执行裁剪操作。
裁剪后的图像出现在图窗窗口中。
裁剪图像工具在返回变量 J 中返回裁剪的区域。变量 rect 是说明您指定的裁剪矩形的四元素位置向量。获取关于返回变量的更多信息。
J
whos
Name Size Bytes Class Attributes I 876x1314x3 3453192 uint8 J 413x483x3 598437 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')
读取并显示图像。
I = imread('parkavenue.jpg'); imshow(I)
将目标窗口大小指定为 [宽度, 高度] 形式的二元素向量。
targetSize = [300 600];
创建指定裁剪窗口的空间范围的 Rectangle 对象。
Rectangle
r = centerCropWindow2d(size(I),targetSize);
在空间范围的界限处裁剪图像。显示裁剪的区域。
J = imcrop(I,r); imshow(J)
将索引图像 X 及其关联的颜色图 map 加载到工作区中。
map
load trees
裁剪该索引图像,指定裁剪矩形。
X2 = imcrop(X,map,[30 30 50 75]);
显示原始索引图像和裁剪后的图像,两者都具有颜色图。
tiledlayout(1,2) nexttile imshow(X,map) title("Original Image") nexttile imshow(X2,map) title("Cropped Image")
要裁剪的图像,指定为下列项之一。
表示灰度图像的 m×n 数值矩阵
表示真彩色图像的 m×n×3 数值数组
表示二值掩膜的 m×n 逻辑矩阵。
表示标签图像的 m×n 分类矩阵。
对于分类输入,您必须指定裁剪矩形 rect。交互式语法不支持分类输入。
当您使用交互式语法时,imcrop 调用 imshow 函数并接受 imshow 接受的任何图像类。
imshow
数据类型: single | double | int8 | int16 | uint8 | uint16 | logical | categorical
single
double
int8
int16
uint8
uint16
logical
categorical
要裁剪的索引图像,指定为整数矩阵。
数据类型: single | double | int8 | int16 | uint8 | uint16 | logical
与索引图像 X 关联的颜色图,指定为 c×3 数值矩阵。每行是一个三元素 RGB 三元组,指定颜色图的单个颜色的红、绿和蓝分量。数据类型为 single 或 double 的值必须在 [0, 1] 范围内。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
int32
int64
uint32
uint64
裁剪矩形在空间坐标中的大小和位置,指定为 [xmin ymin width height] 或 images.spatialref.Rectangle 对象形式的 4 元素数值向量。
[xmin ymin width height]
images.spatialref.Rectangle
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Figure
Panel
Axes
Image
包含要裁剪的图像的图形对象,指定为 Figure、Panel、Axes 或 Image 对象。如果 h 是坐标区或图窗,则 impixelregion 将使用 findobj(h,Type="image") 返回的第一个图像。
impixelregion
findobj(h,Type="image")
图像在世界坐标系中的 x 维范围,指定为 [xmin xmax] 形式的二元素数值向量,其中 xmax 大于 xmin。xref 的值设置图像的 XData。
XData
图像在世界坐标系中的 y 维范围,指定为 [ymin ymax] 形式的二元素数值向量,其中 ymax 大于 ymin。yref 的值设置图像的 YData。
YData
裁剪的图像,以数值数组、数值矩阵、逻辑矩阵或分类矩阵形式返回。
如果指定输入图像 I,则输出图像与输入图像具有相同的数据类型。
如果不指定输入图像,则输出图像通常与输入图像具有相同的数据类型。但是,如果输入图像具有数据类型 int16 或 single,则输出图像具有数据类型 double。
裁剪的索引图像,以数值矩阵形式返回。
裁剪矩形的大小和位置,以 [xmin ymin width height] 形式的四元素数值向量形式返回。
图像在世界坐标系中的 x 维范围,以 [xmin xmax] 形式的二元素数值向量返回。如果使用 xref 指定图像在世界坐标系中的范围,则 xrefout 等于 xref。否则,xrefout 等于原始图像的 XData。
图像在世界坐标系中的 y 维范围,以 [ymin ymax] 形式的二元素数值向量返回。如果使用 yin 指定图像在世界坐标系中的范围,则 yrefout 等于 yin。否则,yrefout 等于原始图像的 YData。
yin
裁剪图像工具是可移动、可调整大小的矩形,您可以将它放置在图像上方,并使用鼠标以交互方式执行裁剪操作。
如果裁剪图像工具在图窗中处于活动状态,则当您将其移至目标图像上方时,指针会变为十字准线 。使用鼠标,通过点击并拖动鼠标来指定裁剪矩形。您可以使用鼠标移动裁剪矩形或调整其大小。完成裁剪矩形的大小调整和定位后,通过双击鼠标左键创建裁剪的图像。您也可以从上下文菜单中选择裁剪图像。图窗展示了显示上下文菜单的裁剪图像工具。
按 Backspace、Esc 或 Delete,或在裁剪矩形内右键点击,然后从上下文菜单中选择取消。
注意:如果删除 ROI,该函数将返回空值。
双击鼠标左键或在裁剪矩形的边界内右键点击,并从上下文菜单中选择裁剪图像。
全部展开
用法说明和限制:
imcrop 支持 C 和 C++ 代码生成(需要 MATLAB Coder™)。有关详细信息,请参阅图像处理的代码生成。
不支持交互式语法,包括:
Icropped = imcrop(h)
您必须指定一个或多个输出参量。
不支持索引图像,包括非交互方式语法 Xcropped = imcrop(X,cmap,rect);
Xcropped = imcrop(X,cmap,rect);
backgroundPool
ThreadPool
有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
不支持分类图像。
有关详细信息,请参阅GPU 上的图像处理。
imcrop 现在支持基于线程的环境。
imcrop 现在支持 GPU 加速(需要 Parallel Computing Toolbox™)。
zoom | imcrop3 | drawrectangle | images.spatialref.Rectangle
zoom
imcrop3
drawrectangle
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处