用MATLAB写一段填充图像的代码
时间: 2023-06-09 21:04:54 浏览: 53
好的,以下是一段MATLAB代码,用于填充图像:
```matlab
% 读取图片
img = imread('lena.jpg');
% 获取图像大小
[height, width, ~] = size(img);
% 定义填充像素数目
padding = 50;
% 创建一个大小为 height+padding*2, width+padding*2, 3 的新图像
new_img = uint8(zeros(height+padding*2, width+padding*2, 3));
% 将原始图像复制到新图像中间
new_img(padding+1:height+padding, padding+1:width+padding, :) = img;
% 填充图像边缘
for i = 1:padding
new_img(i, :, :) = new_img(padding+1, :, :); % 填充上边缘
new_img(height+padding+i, :, :) = new_img(height+padding, :, :); % 填充下边缘
new_img(:, i, :) = new_img(:, padding+1, :); % 填充左边缘
new_img(:, width+padding+i, :) = new_img(:, width+padding, :); % 填充右边缘
end
% 显示新图像
imshow(new_img);
```
这段代码可以将一张已有的图片进行填充,填充像素数目由 `padding` 变量控制。代码会创建一个新的图像,并将原始图像复制到新图像的中心,然后填充新图像的边缘。最后,程序会显示填充后的图像。