用matlab编程缩小图像且不改变figure窗大小 不用imresize函数
时间: 2024-02-24 21:00:20 浏览: 111
matlab实现图像缩放
可以使用以下代码实现图像缩小并保持figure窗口大小不变:
```matlab
% 读取图像
img = imread('image.jpg');
% 缩小倍数
scale = 0.5;
% 计算缩小后的图像大小
new_size = round(size(img) * scale);
% 使用双线性插值法进行图像缩小
new_img = zeros(new_size(1), new_size(2), size(img, 3));
for i = 1:size(img, 3)
new_img(:,:,i) = imresize(img(:,:,i), new_size, 'bilinear');
end
% 在不改变figure窗口大小的情况下显示图像
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0, 0, 1, 1]);
imshow(new_img);
```
代码说明:
1. 首先读取原始图像`img`;
2. 设置缩小倍数`scale`;
3. 计算缩小后的图像大小`new_size`;
4. 利用`imresize`函数对每个通道进行缩小,并将结果存储在`new_img`中;
5. 利用`set`函数设置figure窗口大小为全屏;
6. 利用`imshow`函数显示缩小后的图像`new_img`。
阅读全文