编程实现最近邻插值,使用matlab将图像放大两倍,同屏显示前后图像
时间: 2023-05-28 15:05:25 浏览: 161
C++实现图像处理最近邻插值算法代码
以下是使用matlab实现最近邻插值将图像放大两倍并同屏显示前后图像的代码:
```matlab
% 读取原始图像
I = imread('lena.jpg');
% 获取原始图像的大小
[height, width, channels] = size(I);
% 创建新图像
new_height = height * 2;
new_width = width * 2;
new_I = uint8(zeros(new_height, new_width, channels));
% 最近邻插值
for i = 1:new_height
for j = 1:new_width
% 计算原始图像坐标
x = round(i / 2);
y = round(j / 2);
% 边界处理
if x <= 0
x = 1;
end
if y <= 0
y = 1;
end
if x > height
x = height;
end
if y > width
y = width;
end
% 赋值
new_I(i, j, :) = I(x, y, :);
end
end
% 显示原始图像和处理后的图像
figure;
subplot(1, 2, 1);
imshow(I);
title('Original Image');
subplot(1, 2, 2);
imshow(new_I);
title('Nearest Neighbor Interpolation');
```
运行代码后,会显示原始图像和使用最近邻插值放大两倍后的图像,如下图所示:
![nearest_neighbor_interpolation.png](https://i.loli.net/2021/11/01/a9U5dJg6z7bcYKo.png)
阅读全文