Importing multiple jpg files using imread. File format error.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Kelsey Frewin
am 24 Jun. 2016
Kommentiert: Walter Roberson
am 24 Jun. 2016
Recently created a subset of script to import a number of .jpg files by putting them in a loop. This script has been working perfectly for me, until today. I've not changed anything and have tried this both on my personal PC and University PCs, and still get the same error.
I got the information for the script from this link and followed it exactly. http://uk.mathworks.com/help/matlab/import_export/process-a-sequence-of-files.html
My script looks like this:
jpegFiles = dir('*.jpg');
numfiles = length(jpegFiles);
images = cell(1, numfiles);
for k = 1:numfiles
images{k} = imread(jpegFiles(k).name);
end
Previously, as I mentioned, there have been no problems. I now suddenly get this error, and have tried all I can think of!
Error using imread (line 362)
Unable to determine the file format.
Error in imagesin (line 6)
images{k} = imread(jpegFiles(k).name);
I am new to this and any suggestions would be appreciated!
Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 24 Jun. 2016
One of your files has a .jpg suffix but is not a valid JPEG file. Try
jpegFiles = dir('*.jpg');
numfiles = length(jpegFiles);
images = cell(1, numfiles);
for k = 1:numfiles
thisfile = jpegFiles(k).name;
try
images{k} = imread(thisfile);
catch
warning('File #%d, name "%s" does not appear to be a valid image, skipping it. The file size for it is %d bytes', k, thisfile, jpegFiles(k).bytes );
images{k} = uint8([]);
end
end
3 Kommentare
Walter Roberson
am 24 Jun. 2016
You see that ._ ? That file is a thumbnail. It is likely the thumbnail will get generated again.
After you do
jpegFiles = dir('*.jpg');
do
isdotfile = strncmp({jpegFiles.name}, '.', 1);
jpegFiles(isdotfile) = [];
Weitere Antworten (1)
Muhammad Usman Saleem
am 24 Jun. 2016
jpegFiles = dir('*.jpeg');
numfiles = size(jpegFiles);
try to use this
1 Kommentar
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!