Cropping multiple Images and save them in a folder

4 ビュー (過去 30 日間)
Vaswati Biswas
Vaswati Biswas 2021 年 4 月 19 日
コメント済み: Vaswati Biswas 2021 年 4 月 24 日
I have multiple images I want to crop them and save them in another folder. The code that I am using is given below.
myFolder = 'jpg'; % number of images
filePattern = fullfile(myFolder, '*.jpg') ;
theFiles = dir(filePattern);
numberOfFiles = length(theFiles); % GEt all images of the folder
I = imread(images(1).name) ; % crop one to get rect
[x, rect] = imcrop(I) ;
for i = 1:numberOfFiles
baseFileName = theFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
I = imread(fullFileName);% REad image
I = imcrop(I,rect) ; % crop image
fullFileName = fullfile(images(i).folder, ['cropped' images(i).name]);
imwrite(I,fullfilename) ; % Save image
end
But No folder is generated which contains the cropped images . Also I am getting the following error
Index exceeds the number of array elements (0).
Error in cropimages (line 5)
I = imread(images(1).name) ; % crop one to get rect
Can someone help me to solve this problem?

回答 (1 件)

Mahesh Taparia
Mahesh Taparia 2021 年 4 月 22 日
Hi
By looking at your code, it seems the variable 'images' is not defined. You are creating a 'theFiles' variable, which contains the information of image directory. So replace that line wih the below line:
I = imread(theFiles(1).name) ; % crop one to get rect
Hope it will work!
  3 件のコメント
Mahesh Taparia
Mahesh Taparia 2021 年 4 月 23 日
Try this, it will work:
I = imread(fullfile(theFiles(1).folder,theFiles(1).name)) ; % crop one to get rect
Vaswati Biswas
Vaswati Biswas 2021 年 4 月 24 日
Still I am getting error in the code i.e.
Error in cropimages (line 13)
imwrite(I,fullfilename) ; % Save image

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by