Remove empty image file in a ImageDatastore

6 views (last 30 days)
Zzz
Zzz on 6 Aug 2021
Answered: Jayanti on 14 May 2025
I have a folder containing images, some of which are empty JPEG (Zero byte). How can I create a ImageDatastore and skip the null files?
I have tried using ReadFcn to create a custom read function, see below:
function data=readImages(filename)
try % Fetch dimensions of a JPEG, error returned if it is null
dim = infinfo(filename);
data = imread(filename);
catch error
disp('Null data detected') % Problem: need to define data value for this statement
end
end
  2 Comments
Zzz
Zzz on 6 Aug 2021
The problem with the above approach is that it doesn't really skip the null files, since I still need to define what 'data' is.
Drishan Poovaya
Drishan Poovaya on 10 Aug 2021
I understand you want to avoid including any empty jpg files. For reference purposes, could you please attach one of these empty jpg files? It would be helpful to come up with a solution

Sign in to comment.

Answers (1)

Jayanti
Jayanti on 14 May 2025
Hi,
To ensure only valid images are used, you can first scan the image folder and filter out any files that are 0 bytes. And while creating the “ImageDatastore” only include those verified files. This way you will only have good images in your datastore.
Hope this will be helpful!

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!