matlab截取图片中心区域
时间: 2023-07-19 17:20:02 浏览: 1002
要在 MATLAB 中截取图片中心区域,可以使用 `imcrop` 函数和一些简单的计算。具体步骤如下:
1. 读取图像并获取其大小:
```matlab
img = imread('image.jpg');
imgSize = size(img);
```
2. 计算要截取的中心区域的左上角坐标和宽度/高度:
```matlab
cropWidth = 200; % 截取区域的宽度
cropHeight = 200; % 截取区域的高度
% 计算左上角坐标
cropX = round((imgSize(2)-cropWidth)/2);
cropY = round((imgSize(1)-cropHeight)/2);
```
3. 使用 `imcrop` 函数截取图像:
```matlab
croppedImg = imcrop(img, [cropX, cropY, cropWidth-1, cropHeight-1]);
```
注意,这里的 `cropX` 和 `cropY` 是左上角的坐标,而不是中心点的坐标。因此,我们需要将宽度和高度减去 1,以确保截取的区域大小是正确的。
完整的代码如下:
```matlab
% 读取图像并获取其大小
img = imread('image.jpg');
imgSize = size(img);
% 计算要截取的中心区域的左上角坐标和宽度/高度
cropWidth = 200; % 截取区域的宽度
cropHeight = 200; % 截取区域的高度
cropX = round((imgSize(2)-cropWidth)/2);
cropY = round((imgSize(1)-cropHeight)/2);
% 使用 imcrop 函数截取图像
croppedImg = imcrop(img, [cropX, cropY, cropWidth-1, cropHeight-1]);
```
在运行此脚本时,你将得到一个截取后的图像,其中心区域已被保留。
阅读全文