我有五个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';
这是不正确的。请问如何正确指定我的目录以将我的所有图像训练到其中?
非常感谢任何帮助。
答案 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或无损的东西。