Я написал скрипт в Matlab, который решает проблему: он читает все изображения в каталоге и добавляет черное поле для достижения желаемого соотношения сторон.
% Margins
% SPECIFY RATIO
RATIO_HEIGHT = 10;
RATIO_WIDTH = 8;
% READ FILES
files = dir('*.jpg');
% START
clc
for f=1:size(files)
    % READ FILE
    IMG = imread(files(f).name);
    [h w d] = size(IMG);
    % CALCULATE RATIO
    ratio = w/h;
    % PRINT FILENAME
    fprintf('\n\n-------------------------------------');
    fprintf('\n# PROCESSING FILE: \t%s', files(f).name);
    % PRINT ORIENTATION
    if(h > w)
        orientation = 1;
        fprintf('\nPORTRAIT');
    else
        orientation = 2;
        fprintf('\nLANDSCAPE');
    end
    % PRINT DIMENSIONS
    fprintf('\t|\t%i x %i', h, w);
    % CHECK RATIO?
    if(h/w == RATIO_HEIGHT/RATIO_WIDTH)
        fprintf('\n > Correct aspect ratio.');
        NIMG = IMG;        
    else
        fprintf('\n! BAD aspect ratio : %f', h/w);
        % CALCULATE NEW DIMENSIONS
        if(ratio < RATIO_WIDTH/RATIO_HEIGHT)
            ch = h;
            cw = round(RATIO_WIDTH/RATIO_HEIGHT*ch);
        else
            cw = w;
            ch = round(RATIO_HEIGHT/RATIO_WIDTH*cw);
        end
        % PRINT NEW DIMENSIONS
        fprintf('\nNEW DIMENSIONS: \t%i x %i | ADDED: %i x %i', ch, cw, ch-h, cw-w);
        % CREATE NEW IMAGE
        NIMG = uint8(zeros(ch,cw,d));
        % COPY
        for k=1:d
            for i=1:h
                for j=1:w
                    NIMG(i,j,k) = IMG(i,j,k);
                end
            end
        end
    end
    % WRITE
    imwrite(NIMG, ['modified\' files(f).name '.png'], 'png');
end