matlab批量将图像上下分别增加黑边
时间: 2023-11-07 17:07:22 浏览: 132
可以使用MATLAB的imresize和padarray函数实现批量将图像上下分别增加黑边的操作。以下是一个示例代码:
```matlab
% 设置黑边大小
borderSize = 20;
% 获取所有图像文件名
imageFiles = dir('*.png');
% 遍历所有图像文件
for i = 1:length(imageFiles)
% 读取图像
image = imread(imageFiles(i).name);
% 计算新图像的大小
newHeight = size(image, 1) + 2 * borderSize;
newWidth = size(image, 2);
% 上下方向分别增加黑边
resizedImage = imresize(image, [newHeight, newWidth]);
paddedImage = padarray(resizedImage, [borderSize, 0], 0, 'both');
% 保存新图像
imwrite(paddedImage, ['padded_', imageFiles(i).name]);
end
```
该代码会批量读取当前目录下的所有PNG格式图像文件,并将它们上下方向分别增加20像素的黑边,然后保存为新的图像文件。你可以根据实际情况调整代码中的参数来适应不同的需求。
相关问题
matlab将图像上下分别增加黑边
可以使用以下代码将图像上下分别增加黑边:
```matlab
% 读入原始图像
img = imread('example.jpg');
% 获取原始图像的宽度和高度
[h, w, ~] = size(img);
% 定义增加的黑边的高度
border_height = 100;
% 创建新的图像矩阵,并将上下黑边的部分赋值为0
new_img = zeros(h + 2 * border_height, w, 'uint8');
new_img(border_height+1:border_height+h, :, :) = img;
% 显示含有黑边的图像
imshow(new_img);
```
这段代码中,首先读入原始图像,并获取其宽度和高度。然后定义增加的黑边的高度为100(可以根据需要自行修改)。接着创建一个新的图像矩阵,并将上下黑边的部分赋值为0。最后显示含有黑边的图像。如果需要在左右增加黑边,可以类似地修改代码。
阅读全文