MATLAB中对图像的自定义裁剪imcrop操作如下:
imcrop创建一个交互式的“作物图像”工具,该工具与当前图中显示的灰度,真彩色或二进制图像相关联。 imcrop返回裁剪后的图像,即Icropped------Icropped = imcrop
其他一般都调用格式:
I2=imcrop(I,RECT);
X2=imcrop(X,MAP,RECT);
RGB2=imcrop(RGB,RECT);
Icropped = imcrop(I)
Xcropped = imcrop(X,cmap)
Icropped= imcrop(h)
Icropped = imcrop(I,rect)
Xcropped = imcrop(X,cmap,rect)
【xrefout,yrefout,__ 】 = imcrop(___)
[___,rectout] = imcrop(___)
___ = imcrop(xref,yref,___)
其中,I、X、RGB分别对应灰度图像、索引图像、RGB图像的数据矩阵,MAP为索引图像颜色表,I2、X2、RGB2分别为各自输入矩阵所对应的输出矩阵。
而RECT为可选参数,格式为[XMIN YMIN WIGTH HEIGHT].例如[60 60 80 80],则剪裁后的图像的左上角像素为原图像位置在(60,60)的像素,而剪裁后图像的右下角像素为原图像位置在(80,80)的像素。
另外,如不加参数RECT,将使用鼠标在原图像上划矩形框的方法来实现图像的剪裁,所划矩形框内的图像将在新窗口中输出。
clear all;
close all;
clc;
I = imread('circuit.tif');
I2 = imcrop(I,[75 55 180 112]);
subplot(221);imshow(I);
title('Original Image')
subplot(222);imshow(I2);
title('Cropped Image')
load trees
X2 = imcrop(X,map,[30 30 50 75]);
subplot(223);imshow(X,map);
title('Original Image')
subplot(224);imshow(X2,map);
title('Cropped Image')
效果如图: