matlab如何截取图像的中间部分_图像中提取圆形子区域matlab code
时间: 2023-08-26 14:14:20 浏览: 412
要截取图像的中间部分,可以使用以下代码:
```matlab
% 读取图像
img = imread('image.jpg');
% 获取图像尺寸
imgSize = size(img);
% 计算截取位置
center = round(imgSize(1:2) / 2); % 图像中心点
windowSize = [200, 200]; % 截取窗口大小
windowPosition = center - round(windowSize / 2); % 截取窗口左上角位置
% 截取图像
window = imcrop(img, [windowPosition, windowSize]);
```
上述代码将会截取一个 200x200 的窗口,其位置位于图像的中心。
如果你想要提取圆形子区域,可以使用 `imcrop` 函数截取矩形区域,然后使用 `imellipse` 函数创建一个圆形选择框并调整位置和尺寸,最后使用 `createMask` 函数生成一个圆形掩膜,将其应用于截取的矩形区域即可。以下是示例代码:
```matlab
% 读取图像
img = imread('image.jpg');
% 获取图像尺寸
imgSize = size(img);
% 计算截取位置
center = round(imgSize(1:2) / 2); % 图像中心点
windowSize = [200, 200]; % 截取窗口大小
windowPosition = center - round(windowSize / 2); % 截取窗口左上角位置
% 截取图像
window = imcrop(img, [windowPosition, windowSize]);
% 创建圆形选择框
circle = imellipse(gca, [50 50 100 100]); % 左上角坐标为 (50,50),宽高为 100x100
% 生成圆形掩膜
mask = createMask(circle, size(window));
% 应用掩膜
subImg = window .* uint8(mask);
```
上述代码将会截取一个 200x200 的窗口,并从窗口中提取一个圆形子区域。
阅读全文