If this site goes down it is because of the crappy DreamHost web hosting: They will disable your "unlimited traffic" web server if a single bot hammers the site with a moderate load.  If necessary, an alternate ExifTool forum page is available at

Main Menu

ISO value for Canon from EXIF data

Started by Archive, May 12, 2010, 08:54:21 AM

Previous topic - Next topic


[Originally posted by robbo612443 on 2008-06-07 16:34:09-07]

Folks, I'm sorry:- I've searched all day but I just cant find an answer I can understand!...

I'm trying to extract the ISO speed values for pictures taken with my Canon camera.
In some cases, the "ISO" tag is set which is great but most of the time it's not.

I'm using PERL (at which I'm a novice) and I'm trying to extract the information using EXIFTOOL but I just dont understand how I can get at (or even find!) the data I'm after.

Can anyone help? Perhaps itd all become clear to me if I understood the "group" structure a little more - I'm currently aware of the MakerNotes tag but I just cant "find" it so I'm not convinced it's the right place to look!! I could do with an example piece of PERL code to follow if anyone is feeling generous?!

I'm not even sure if I'm in the right forum but ANY help would be much appreciated.



[Originally posted by bogdan on 2008-06-07 17:10:03-07]

Using ExifTool, you can get ISO (for compact camera?):

exiftool -composite:ISO filename.jpg

...or write into Exif:

exiftool -composite:ISO&gtexif:ISO filename.jpg

Hope that helps,



[Originally posted by robbo612443 on 2008-06-07 17:25:06-07]

Hi Bogdan,

This looks like a command line. I'm trying to do the job in a Perl script so I can do something with the ISO value afterwards.

Is there a way of doing this in a perl script?

The camera I'm trying to get info from is a G6 powershot but everything I've read so far indicates that it's simply "Canon" which is the issue.. they put their information somewhere other than in the standard ISO tag

Thanks again. Rob


[Originally posted by bogdan on 2008-06-08 04:53:44-07]

Hi Rob,

Sorry, I have no idea about Perl (I'm on Delphi Pascal). About Canon ISO...

For all cameras, Canon writes two ISO values inside Makernotes: AutoISO and BaseISO tag. For most cameras, there's also ISO written into Exif, which is calculated from AutoISO and BaseISO value. This is always the case for dslr cameras -for pocket camera, it depends on camera settings (manual or auto).

I'm quite sure Phil will come around, to give you a hint for Perl...




[Originally posted by exiftool on 2008-06-08 10:57:49-07]

use Image::ExifTool qw(:Public);
my $info = ImageInfo('image.jpg', 'ISO');
my ($iso) = values %$info;
print "The ISO is $iso\n";

- Phil


[Originally posted by robbo612443 on 2008-06-08 18:34:06-07]

Phil, Bogdan,

Thanks very much for your help. I guess, with what you say in mind, I dont need to bother myself with the MakerNotes!? Slightly irritating that I spent a day trying to access these "MakerNotes" but I guess that's always the way when you're learning stuff.

I've still not managed to find the maker notes but at least I can get on with writing my database contents with the details of my pictures. If anyone feels like explaining the maker notes and where they can be found, that'd be fab.

Meanwhile, thanks once again to you both. Thanks especially to Phil for the code example.

Kind Regards



[Originally posted by exiftool on 2008-06-09 11:30:54-07]

Hi Rob,

With exiftool you don't need to worry about where the information came
from unless you have a specific reason to do so.  Just ask for the ISO and
exiftool will get it from the EXIF information if available, otherwise it will
get it from the makernotes, and sometimes it even has to calculate it from
combinations of different makernotes tags.  But you don't need to worry
about the details, and can just ask for "ISO" in your code.

But if you really want to distinguish between these, you can ask for
"EXIF:ISO", "MakerNotes:ISO" or "Composite:ISO" respectively.

- Phil