2016-06-15 5 views
-1

У меня есть скрипт Matlab (см. Ниже), который изменяет размер папки с картинками (490 x 500) на новый размер (512 x 512). Теперь, поскольку исходные изображения не являются квадратами, то, что происходит после изменения размера, является то, что слева и справа от каждой картинки я получаю белую полоску. Это, вероятно, автоматический наполнитель, чтобы сохранить пропорцию изображения, но в то же время достичь размера 512x512.Замена пикселей в Matlab после изменения размера

Что мне нужно сделать, чтобы избавиться от этих белых полосок по обе стороны от картин? Возможно, замените белые пиксели черными пикселями, но как достичь этой стратегии?

clear all 
close all 

dir = 'D:\matlab_picture_edit\pics'; %location of images 
outdir = 'D:\matlab_picture_edit\pics_new'; %location of directory for output images 

cd (dir); % go to source dir 
fs = filesep 
dln = '.' 

num = 1 % iterations of transform 
images = cellstr(ls(dir)); % list all files in source dir 
images = images(3:end); % remove first 2 lines (.., .) 

for h = 1:length(images) % all images 
    flnmdel(h,:) = strsplit(images{h},dln) % split up file name 
end 

for pic = 1:numel(images) 
    image = images{pic}; 

    img = imread(image); 

    img2 = imresize(img, [512, 512]); 

    imwrite(img2,[outdir fs flnmdel{pic} '_s.jpg']) 

end 
+0

Я запустил ваш код так, как есть, и я получил результат, который вам нужен. т.е. нет пробела. (используя MATLAB R2016a) –

+0

Tahnks @Sardar_Usama, я использую Matlab R2015a. Вы могли бы видеть только пробел только на черном фоне (например, в powerpoint)? Это имеет смысл для меня, потому что первоначальный размер не является квадратным. – Spica

+1

Я пробовал это на не квадратных изображениях, как вы упомянули в вопросе! Нет такой проблемы. Ваши фактические изображения, вероятно, имеют белые пробелы, которые увеличиваются при увеличении размера. Включите образец изображения в свой пост! –

ответ

2

У вас нет проблем с кодом.

Я пробовал это на не квадратных изображениях, как вы упомянули в вопросе! Вероятно, ваши фактические изображения имеют белые пробелы, которые увеличиваются при увеличении размера.