将一些已调整大小的图像放入目录,然后指定它以训练图像

时间:2013-12-30 22:29:11

标签: image-processing matlab

我有五个RGB jpg图像。我应该将所有这些图像(转换为灰度并调整为160x160)放入一个在我的工作文件中占有一席之地的目录。

1)我读了所有五张RGB图片:

img1 = imread('image1.jpg');
img2 = imread('image2.jpg');
img3 = imread('image3.jpg');
img4 = imread('image4.jpg');
img5 = imread('image5.jpg');

2)我将其转换为灰度

img1_gray = rgb2gray(img1);
img2_gray = rgb2gray(img2);
img3_gray = rgb2gray(img3);
img4_gray = rgb2gray(img4);
img5_gray = rgb2gray(img5);

3)我将所有图片的尺寸调整为 160x160

img1_gray_resized=imresize(img1_gray, [160 160]);
img2_gray_resized=imresize(img2_gray, [160 160]);
img3_gray_resized=imresize(img3_gray, [160 160]);
img4_gray_resized=imresize(img4_gray, [160 160]);
img5_gray_resized=imresize(img5_gray, [160 160]);

4)我有一个名为“My_directory”的目录,我需要将所有已调整大小的图像放入其中。我使用了imwrite函数,如下所示,但我收到错误,我认为它完全不正确,这就是为什么我需要你的帮助。

imwrite(img1_gray_resized, 'My_directory','jpg');
imwrite(img2_gray_resized, 'My_directory','jpg');
imwrite(img3_gray_resized, 'My_directory','jpg');
imwrite(img4_gray_resized, 'My_directory','jpg');
imwrite(img5_gray_resized, 'My_directory','jpg');

5)在matlab中,我现在需要指定我的目录来训练所有图像。我使用下面的代码:

Train_images = 'My_directory';

这是不正确的。请问如何正确指定我的目录以将我的所有图像训练到其中?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

再看一下imwrite的语法。第二个参数需要指定文件名,因此您需要同时指定子目录和文件名:

Train_images = 'My_directory';
mkdir(Train_images);
imwrite(img1_gray_resized, fullfile(Train_images,'image1_gray_resized.jpg'));
% and similarly on for the other 4 images

另请注意,imwrite会从文件扩展名中推断出格式。

附注:如果您关心图像内容,请不要使用jpg。使用png或bmp或无损的东西。