matlab 手動裁剪圖檔並保存
时间: 2025-02-26 10:29:08 浏览: 37
### 手动裁剪图像并保存
在 MATLAB 中,可以通过交互方式选择感兴趣的区域并对该区域进行裁剪。这不仅适用于单张图像的操作,也能够应用于批量处理场景中。对于希望手动裁剪图像的需求,MATLAB 提供了一个名为 `imcrop` 的内置函数来完成这项工作。
#### 使用 imcrop 函数进行手动裁剪
当调用 `imcrop(I)` 或者 `imcrop(h)` 时,将会弹出一个新的窗口让用户通过鼠标拖拽的方式定义矩形框以选取感兴趣的部分[^2]。一旦选择了所需的区域,则返回的结果将是所选区域内像素组成的子图矩阵形式的数据结构。
```matlab
% 加载原始图片
img = imread('example.jpg');
% 显示原图用于参考
figure;
imshow(img);
% 进行交互式的裁剪操作
croppedImg = imcrop;
% 展示裁剪后的效果
figure;
imshow(croppedImg);
title('Cropped Image');
```
上述代码片段展示了如何加载一幅图像并通过 `imcrop()` 实现用户界面下的手工裁切过程。值得注意的是,在执行此命令之后会出现一个新窗口允许用户点击并拖曳形成所需大小及位置的选择框;释放鼠标按键即确认当前选定区作为最终输出结果的一部分。
#### 裁剪后调整尺寸再保存
有时可能还需要进一步改变已裁剪图像的比例尺或分辨率。此时可借助于 `imresize` 来达到目的:
```matlab
% 定义新的宽度和高度 (例如减半)
newSize = round([size(croppedImg,2)/2 size(croppedImg,1)/2]);
% 对裁剪过的图像重新设置大小
resizedImage = imresize(croppedImg,newSize,'bicubic'); % 双三次插值法
% 将修改后的图像存储至磁盘文件系统内
imwrite(resizedImage,'output_resized_image.png','png');
```
这段脚本说明了怎样先计算目标宽高值(这里假设为原来的一半),接着利用双立方差值方法对之前获得的小片断实施放大/缩小变换最后把得到的新版本写入硬盘上的 PNG 文件里去[^1]。
阅读全文
相关推荐











