I have a number of .png image files in a folder. A few of them can be broken .png files which can't be opened by photo-editing softwares such as photoshop. I would like to rename all the valid .png files with temporary names and leave all the broken .png files' names unchanged so that I can easily tell which ones are broken files. The code were written below:
clear
Index=0;
A=dir('*.png');
filenames={A.name};
for i=1:numel(A)
try
I=imread(filenames{i});
Index=Index+1;
newname=sprintf('temp%03d.png',Index);
movefile(filenames{i},newname);
catch
% do nothing
end
end
Then it came up with some warning texts in orange colour as below.
I wonder what this message 'PNG library warning: Incorrect sRGB chunk length.' means. What are the things that I need to be aware of in this case? Could anyone help?
You are working with broken png files. The particular way that they are broken happens to be that they have incorrect length information for an sRGB chunk; MATLAB is giving you a warning that this is happening.
You do need to be careful because this is coming out as a warning instead of an error, so your "catch" statement is not necessarily being triggered when these warnings are encountered. You might want to set lastwarn before you do the imread() and then check lastwarn afterwards to see if it has become the above.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
0 Comments
Sign in to comment.