我已经在matlab中编写了一段代码,将图像大小调整为特定大小(不会使它们变形),并在必要时应用填充。
但是,填充是黑色的,我希望它是透明的。我不知道该怎么做。这是我有的代码:
% global variables
inputFolder = 'input/images/';
outputFolder = 'input/resized/';
extension = 'jpg';
x = 1000;
y = 1000;
% list all the files in the input folder
fileList = dir([inputFolder '*.' extension]);
% loop through all the files in the input folder, resize, pad and save
for i=1:length(fileList)
% get filename and load image
fname = fileList(i).name;
container = imread([inputFolder fname]);
% calculate local variables
containerY = size(container,1);
containerX = size(container,2);
containerProp = containerX / containerY;
canvasProp = x / y;
% determine proportions, apply padding and resize
if containerProp < canvasProp
container = imresize(container, [y NaN]);
containerX = size(container,2);
container = padarray(container, [0 floor((x - containerX)/2)], 0, 'pre');
containerX = size(container,2);
container = padarray(container, [0 (x - containerX)], 0, 'post');
elseif containerProp == canvasProp
container = imresize(container, [y x]);
else
container = imresize(container, [NaN x]);
containerY = size(container,1);
container = padarray(container, [floor((y - containerY)/2) 0], 0, 'pre');
containerY = size(container,1);
container = padarray(container, [(y - containerY) 0], 0, 'post');
end
% save resized image
imwrite(container, [outputFolder fname]);
end有谁知道如何将填充从黑色更改为透明?