Unable to replace Lens, Lens Info and Lens Type exif data

Started by fcmbp2, May 08, 2016, 08:20:36 AM

Previous topic - Next topic

fcmbp2

Dear all,

I am very new to exiftool.

I took a few pictures using a Canon 7D mark II and the following manual lenses:
1. Meyer-Optik Görlitz Orestor 135mm f2.8.
2. Helios 44-2 58mm.
I used a M42 to EOS adapter with AF confirmation chip which sets up all the images as if they were acquired 50mm lens acquired at f1.4.

Images acquired with these two lenses show similar EXIF data. For instance for this image (_MG_5065.CR2) ExifTool gives the following EXIF data:

exiftool _MG_5065.CR2 -Lens -LensInfo -LensMake -LensModel -ApertureValue -FocalLength -MaxApertureValue -LensSerialNumber -lenstype
Lens                            : 1.0 - 65535.0 mm
Lens Info                       : 1-65535mm f/0
Lens Model                      : 1-65535mm
Aperture Value                  : 1.4
Focal Length                    : 50.0 mm
Lens Serial Number              : 0000000000
Lens Type                       : Canon EF 35-80mm f/4-5.6


I tried to edit all the fields above. I have found online the numeric codes for my two lenses (http://fossies.org/linux/misc/Image-ExifTool-10.16.tar.gz/Image-ExifTool-10.16/lib/Image/ExifTool/Minolta.pm):
-lenstype#="65535.53" for Pentacon Auto 135mm F2.8, which is similar to my Meyer-Optik Görlitz Orestor 135mm f2.8
-lenstype#="65535.55" for Helios 44-2 58mm

I have used the following commands:

exiftool  -Lens="Meyer-Optik Görlitz Orestor 135mm f2.8" -LensInfo="Meyer-Optik Görlitz Orestor 135mm f2.8" -LensMake="Meyer-Optik Görlitz Orestor" -LensModel="135mm f2.8" -ApertureValue="2.8" -FocalLength="135" -MaxApertureValue="2.8" -Serial Number="4308024" -LensSerialNumber="4308024" -lenstype#="65535.53" -m -overwrite_original_in_place "_MG_5065.CR2" -v

exiftool  -Lens="Helios 44-2" -LensInfo="Helios 44-2 58mm" -LensMake="Helios" -LensModel="44-2 58mm" -ApertureValue="2" -FocalLength="58" -MaxApertureValue="2" -Serial Number="87064489" -LensSerialNumber="87064489" -lenstype#="65535.55" -m -overwrite_original_in_place "_MG_5066.CR2" -v


The results are shown below:

FrancescosMBP2:test francesco$ exiftool _MG_5065.CR2 -Lens -LensInfo -LensMake -LensModel -ApertureValue -FocalLength -MaxApertureValue -LensSerialNumber -lenstype
Lens                            : 1.0 - 65535.0 mm
Lens Info                       : 135mm f/2.8
Lens Make                       : Meyer-Optik Görlitz Orestor
Lens Model                      : 135mm f2.8
Aperture Value                  : 2.8
Focal Length                    : 135.0 mm
Max Aperture Value              : 2.8
Lens Serial Number              : 4308024
Lens Type                       : n/a

FrancescosMBP2:test francesco$ exiftool _MG_5066.CR2 -Lens -LensInfo -LensMake -LensModel -ApertureValue -FocalLength -MaxApertureValue -LensSerialNumber -lenstype
Lens                            : 1.0 - 65535.0 mm
Lens Info                       : 1-65535mm f/0
Lens Make                       : Helios
Lens Model                      : 44-2 58mm
Aperture Value                  : 2.0
Focal Length                    : 58.0 mm
Max Aperture Value              : 2.0
Lens Serial Number              : 87064489
Lens Type                       : n/a


It looks like that I am unable to edit correctly three EXIF fields:
1. Lens
2. Lens Info
3. Lens Type

Is there any way to edit them correctly? Do you know what I am doing wrong? I can't solve this on my own and I would be very grateful if you could let me know your thoughts.

I am using ExifTool 10.6 on OSX 10.10.5.

Thank you very much.

Francesco

Phil Harvey

Hi Francesco,

Canon writes a numerical ID for each lens.  Using an adapter and a 3rd party lens, there is no valid ID that you can write.  So the Composite:LensID and makernotes lens tags won't make sense.  The best you can do is write the EXIF:LensModel with the proper model name (this tag is stored as a string, so you can set it to whatever you want).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).