imcrop的用法

来源:互联网 发布:人力资源规划 数据分析 编辑:程序博客网 时间:2024/06/05 01:54

imcrop函数用于剪切图像。


暂时用到的语法形式有两种:I = imcrop(image)和I = imcrop(image, rect),这里的image可以是灰度图像,也可以是RGB图像。前者是将图像显示在图像窗口中,并允许用户以交互的方式使用鼠标选定要裁剪的区域;后者指定了要裁剪的区域。


举例说明:(语法形式1)

close all; 
clear all; 
clc; 
image = imread('1.bmp'); 
% imshow(image); 
I = imcrop(image); 
imshow(I); 

运行代码之后,会出现图像窗口如下:


在图像中单击鼠标左键,会出现蓝色框架,如下:


在蓝色框架中单击鼠标右键,出现选择菜单,分别是

copy position:复制当前位置,如图中蓝色框架当前的位置是[72.5 64.5 194 197],前两个数字表示蓝色框架左上顶点的坐标,194表示蓝色框架的宽,197表示蓝色框架的高。

set color:设置边框的颜色,默认是蓝色。

fix aspect ratio:固定高宽比。选定此项后,缩放框架时高宽比不变。

crop image:裁剪图像。可以用imshow函数显示裁剪后的图像,不要求显示时可以在变量空间看到它的参数。

cancel:取消。


举例说明:(语法形式2)

close all; 

clear all; 
clc; 
image = imread('1.bmp'); 
imshow(image); 
rect = [10 10 160 240]; 
I = imcrop(image, rect); 

figure,imshow(I);

代码运行之后,得到两幅图:


此处先构建一个矩形框架rect = [10 10 160 240],前两个数字表示矩形框架左上顶点的坐标,160表示矩形框架的宽度,240表示矩形框架的高度。再利用I = imcrop(image, rect)进行裁剪,得到的图像就是矩形框架rect在图像image上对应的区域。值得注意的是,得到的图像尺寸是241*161,也就是说,如果想得到的图像是240*160,则rect第三和第四个数字应该是159和239。