编写matlab程序,实现相邻两幅图像降分辨率的功能,并显示原图像和降分辨率后的结果图像
时间: 2024-10-07 12:08:27 浏览: 31
基于Matlab实现图像多分辨率金字塔(源码+图像+程序运行说明).rar
在MATLAB中,实现将相邻两幅图像降低分辨率(例如,将其大小减半)可以通过`imresize`函数来完成。以下是一个简单的步骤:
1. 首先,假设你有两幅图片,比如`img1`和`img2`,它们是同尺寸的。
```matlab
% 加载图像
img1 = imread('image1.jpg');
img2 = imread('image2.jpg'); % 确保文件路径正确
% 检查图片是否已经读取成功
if ~exist('img1', 'var')
error('无法找到图像1');
end
if ~exist('img2', 'var')
error('无法找到图像2');
end
```
2. 使用`imresize`函数,传入原始图像和目标的新尺寸,这里我们将宽度和高度都除以2。请注意,这个操作会改变图片的像素密度,所以通常我们会保留原图的长宽比。
```matlab
% 降分辨率
resized_img1 = imresize(img1, [size(img1, 1) / 2, size(img1, 2) / 2]);
resized_img2 = imresize(img2, [size(img2, 1) / 2, size(img2, 2) / 2]);
```
3. 显示原始图像和降分辨率后的结果:
```matlab
% 创建一个新的figure用于显示
figure;
subplot(1, 2, 1); % 第一列的第一个小图
imshow(img1);
title('Original Image 1');
subplot(1, 2, 2); % 第一列的第二个小图
imshow(resized_img1);
title('Downsampled Image 1');
figure; % 新建另一个figure
subplot(1, 2, 1);
imshow(img2);
title('Original Image 2');
subplot(1, 2, 2);
imshow(resized_img2);
title('Downsampled Image 2');
```
阅读全文