function focal_pixels = extractFocalFromEXIF(imageFileName) focal_pixels = []; % Add iphone support % Refer to http://phototour.cs.washington.edu/focal.html % list extracted from Bundler by Noah Snavely ccd_widths = {... 'Asahi Optical Co.,Ltd. PENTAX Optio330RS', 7.176; 'Canon Canon DIGITAL IXUS 400', 7.176; 'Canon Canon DIGITAL IXUS 40', 5.76; 'Canon Canon DIGITAL IXUS 430', 7.176; 'Canon Canon DIGITAL IXUS 500', 7.176; 'Canon Canon DIGITAL IXUS 50', 5.76; 'Canon Canon DIGITAL IXUS 55', 5.76; 'Canon Canon DIGITAL IXUS 60', 5.76; 'Canon Canon DIGITAL IXUS 65', 5.76; 'Canon Canon DIGITAL IXUS 700', 7.176; 'Canon Canon DIGITAL IXUS 750', 7.176; 'Canon Canon DIGITAL IXUS 800 IS', 5.76; 'Canon Canon DIGITAL IXUS II', 5.27; 'Canon Canon EOS 10D', 22.7; 'Canon Canon EOS-1D Mark II', 28.7; 'Canon Canon EOS-1Ds Mark II', 35.95; 'Canon Canon EOS 20D', 22.5; 'Canon Canon EOS 20D', 22.5; 'Canon Canon EOS 300D DIGITAL', 22.66; 'Canon Canon EOS 30D', 22.5; 'Canon Canon EOS 350D DIGITAL', 22.2; 'Canon Canon EOS 400D DIGITAL', 22.2; 'Canon Canon EOS 40D', 22.2; 'Canon Canon EOS 5D', 35.8; 'Canon Canon EOS DIGITAL REBEL', 22.66; 'Canon Canon EOS DIGITAL REBEL XT', 22.2; 'Canon Canon EOS DIGITAL REBEL XTi', 22.2; 'Canon Canon EOS Kiss Digital', 22.66; 'Canon Canon IXY DIGITAL 600', 7.176; 'Canon Canon PowerShot A10', 5.27; 'Canon Canon PowerShot A20', 7.176; 'Canon Canon PowerShot A400', 4.54; 'Canon Canon PowerShot A40', 5.27; 'Canon Canon PowerShot A510', 5.76; 'Canon Canon PowerShot A520', 5.76; 'Canon Canon PowerShot A530', 5.76; 'Canon Canon PowerShot A60', 5.27; 'Canon Canon PowerShot A620', 7.176; 'Canon Canon PowerShot A630', 7.176; 'Canon Canon PowerShot A640', 7.176; 'Canon Canon PowerShot A700', 5.76; 'Canon Canon PowerShot A70', 5.27; 'Canon Canon PowerShot A710 IS', 5.76; 'Canon Canon PowerShot A75', 5.27; 'Canon Canon PowerShot A80', 7.176; 'Canon Canon PowerShot A85', 5.27; 'Canon Canon PowerShot A95', 7.176; 'Canon Canon PowerShot G1', 7.176; 'Canon Canon PowerShot G2', 7.176; 'Canon Canon PowerShot G3', 7.176; 'Canon Canon PowerShot G5', 7.176; 'Canon Canon PowerShot G6', 7.176; 'Canon Canon PowerShot G7', 7.176; 'Canon Canon PowerShot G9', 7.600; 'Canon Canon PowerShot Pro1', 8.8; 'Canon Canon PowerShot S110', 5.27; 'Canon Canon PowerShot S1 IS', 5.27; 'Canon Canon PowerShot S200', 5.27; 'Canon Canon PowerShot S2 IS', 5.76; 'Canon Canon PowerShot S30', 7.176; 'Canon Canon PowerShot S3 IS', 5.76; 'Canon Canon PowerShot S400', 7.176; 'Canon Canon PowerShot S40', 7.176; 'Canon Canon PowerShot S410', 7.176; 'Canon Canon PowerShot S45', 7.176; 'Canon Canon PowerShot S500', 7.176; 'Canon Canon PowerShot S50', 7.176; 'Canon Canon PowerShot S60', 7.176; 'Canon Canon PowerShot S70', 7.176; 'Canon Canon PowerShot S80', 7.176; 'Canon Canon PowerShot SD1000', 5.75; 'Canon Canon PowerShot SD100', 5.27; 'Canon Canon PowerShot SD10', 5.75; 'Canon Canon PowerShot SD110', 5.27; 'Canon Canon PowerShot SD200', 5.76; 'Canon Canon PowerShot SD300', 5.76; 'Canon Canon PowerShot SD400', 5.76; 'Canon Canon PowerShot SD450', 5.76; 'Canon Canon PowerShot SD500', 7.176; 'Canon Canon PowerShot SD550', 7.176; 'Canon Canon PowerShot SD600', 5.76; 'Canon Canon PowerShot SD630', 5.76; 'Canon Canon PowerShot SD700 IS', 5.76; 'Canon Canon PowerShot SD750', 5.75; 'Canon Canon PowerShot SD800 IS', 5.76; 'Canon EOS 300D DIGITAL', 22.66; 'Canon EOS DIGITAL REBEL', 22.66; 'Canon PowerShot A510', 5.76; 'Canon PowerShot S30', 7.176; 'CASIO COMPUTER CO.,LTD. EX-S500', 5.76; 'CASIO COMPUTER CO.,LTD. EX-Z1000', 7.716; 'CASIO COMPUTER CO.,LTD EX-Z30', 5.76; 'CASIO COMPUTER CO.,LTD. EX-Z600', 5.76; 'CASIO COMPUTER CO.,LTD. EX-Z60', 7.176; 'CASIO COMPUTER CO.,LTD EX-Z750', 7.176; 'CASIO COMPUTER CO.,LTD. EX-Z850', 7.176; 'EASTMAN KODAK COMPANY KODAK CX7330 ZOOM DIGITAL CAMERA', 5.27; 'EASTMAN KODAK COMPANY KODAK CX7530 ZOOM DIGITAL CAMERA', 5.76; 'EASTMAN KODAK COMPANY KODAK DX3900 ZOOM DIGITAL CAMERA', 7.176; 'EASTMAN KODAK COMPANY KODAK DX4900 ZOOM DIGITAL CAMERA', 7.176; 'EASTMAN KODAK COMPANY KODAK DX6340 ZOOM DIGITAL CAMERA', 5.27; 'EASTMAN KODAK COMPANY KODAK DX6490 ZOOM DIGITAL CAMERA', 5.76; 'EASTMAN KODAK COMPANY KODAK DX7630 ZOOM DIGITAL CAMERA', 7.176; 'EASTMAN KODAK COMPANY KODAK Z650 ZOOM DIGITAL CAMERA', 5.76; 'EASTMAN KODAK COMPANY KODAK Z700 ZOOM DIGITAL CAMERA', 5.76; 'EASTMAN KODAK COMPANY KODAK Z740 ZOOM DIGITAL CAMERA', 5.76; 'EASTMAN KODAK COMPANY KODAK Z740 ZOOM DIGITAL CAMERA', 5.76; 'FUJIFILM FinePix2600Zoom', 5.27; 'FUJIFILM FinePix40i', 7.600; 'FUJIFILM FinePix A310', 5.27; 'FUJIFILM FinePix A330', 5.27; 'FUJIFILM FinePix A600', 7.600; 'FUJIFILM FinePix E500', 5.76; 'FUJIFILM FinePix E510', 5.76; 'FUJIFILM FinePix E550', 7.600; 'FUJIFILM FinePix E900', 7.78; 'FUJIFILM FinePix F10', 7.600; 'FUJIFILM FinePix F30', 7.600; 'FUJIFILM FinePix F450', 5.76; 'FUJIFILM FinePix F601 ZOOM', 7.600; 'FUJIFILM FinePix S3Pro', 23.0; 'FUJIFILM FinePix S5000', 5.27; 'FUJIFILM FinePix S5200', 5.76; 'FUJIFILM FinePix S5500', 5.27; 'FUJIFILM FinePix S6500fd', 7.600; 'FUJIFILM FinePix S7000', 7.600; 'FUJIFILM FinePix Z2', 5.76; 'Hewlett-Packard hp 635 Digital Camera', 4.54; 'Hewlett-Packard hp PhotoSmart 43x series', 5.27; 'Hewlett-Packard HP PhotoSmart 618 (V1.1)', 5.27; 'Hewlett-Packard HP PhotoSmart C945 (V01.61)', 7.176; 'Hewlett-Packard HP PhotoSmart R707 (V01.00)', 7.176; 'KONICA MILOLTA DYNAX 5D', 23.5; 'Konica Minolta Camera, Inc. DiMAGE A2', 8.80; 'KONICA MINOLTA CAMERA, Inc. DiMAGE G400', 5.76; 'Konica Minolta Camera, Inc. DiMAGE Z2', 5.76; 'KONICA MINOLTA DiMAGE A200', 8.80; 'KONICA MINOLTA DiMAGE X1', 7.176; 'KONICA MINOLTA DYNAX 5D', 23.5; 'Minolta Co., Ltd. DiMAGE F100', 7.176; 'Minolta Co., Ltd. DiMAGE Xi', 5.27; 'Minolta Co., Ltd. DiMAGE Xt', 5.27; 'Minolta Co., Ltd. DiMAGE Z1', 5.27; 'NIKON COOLPIX L3', 5.76; 'NIKON COOLPIX P2', 7.176; 'NIKON COOLPIX S4', 5.76; 'NIKON COOLPIX S7c', 5.76; 'NIKON CORPORATION NIKON D100', 23.7; 'NIKON CORPORATION NIKON D1', 23.7; 'NIKON CORPORATION NIKON D1H', 23.7; 'NIKON CORPORATION NIKON D200', 23.6; 'NIKON CORPORATION NIKON D2H', 23.3; 'NIKON CORPORATION NIKON D2X', 23.7; 'NIKON CORPORATION NIKON D40', 23.7; 'NIKON CORPORATION NIKON D50', 23.7; 'NIKON CORPORATION NIKON D60', 23.6; 'NIKON CORPORATION NIKON D70', 23.7; 'NIKON CORPORATION NIKON D70s', 23.7; 'NIKON CORPORATION NIKON D80', 23.6; 'NIKON E2500', 5.27; 'NIKON E2500', 5.27; 'NIKON E3100', 5.27; 'NIKON E3200', 5.27; 'NIKON E3700', 5.27; 'NIKON E4200', 7.176; 'NIKON E4300', 7.18; 'NIKON E4500', 7.176; 'NIKON E4600', 5.76; 'NIKON E5000', 8.80; 'NIKON E5200', 7.176; 'NIKON E5400', 7.176; 'NIKON E5600', 5.76; 'NIKON E5700', 8.80; 'NIKON E5900', 7.176; 'NIKON E7600', 7.176; 'NIKON E775', 5.27; 'NIKON E7900', 7.176; 'NIKON E7900', 7.176; 'NIKON E8800', 8.80; 'NIKON E990', 7.176; 'NIKON E995', 7.176; 'NIKON S1', 5.76; 'Nokia N80', 5.27; 'Nokia N80', 5.27; 'Nokia N93', 4.536; 'Nokia N95', 5.7; 'OLYMPUS CORPORATION C-5000Z', 7.176; 'OLYMPUS CORPORATION C5060WZ', 7.176; 'OLYMPUS CORPORATION C750UZ', 5.27; 'OLYMPUS CORPORATION C765UZ', 5.76; 'OLYMPUS CORPORATION C8080WZ', 8.80; 'OLYMPUS CORPORATION X250,D560Z,C350Z', 5.76; 'OLYMPUS CORPORATION X-3,C-60Z', 7.176; 'OLYMPUS CORPORATION X400,D580Z,C460Z', 5.27; 'OLYMPUS IMAGING CORP. E-500', 17.3; 'OLYMPUS IMAGING CORP. FE115,X715', 5.76; 'OLYMPUS IMAGING CORP. SP310', 7.176; 'OLYMPUS IMAGING CORP. SP510UZ', 5.75; 'OLYMPUS IMAGING CORP. SP550UZ', 5.76; 'OLYMPUS IMAGING CORP. uD600,S600', 5.75; 'OLYMPUS_IMAGING_CORP. X450,D535Z,C370Z', 5.27; 'OLYMPUS IMAGING CORP. X550,D545Z,C480Z', 5.76; 'OLYMPUS OPTICAL CO.,LTD C2040Z', 6.40; 'OLYMPUS OPTICAL CO.,LTD C211Z', 5.27; 'OLYMPUS OPTICAL CO.,LTD C2Z,D520Z,C220Z', 4.54; 'OLYMPUS OPTICAL CO.,LTD C3000Z', 7.176; 'OLYMPUS OPTICAL CO.,LTD C300Z,D550Z', 5.4; 'OLYMPUS OPTICAL CO.,LTD C4100Z,C4000Z', 7.176; 'OLYMPUS OPTICAL CO.,LTD C750UZ', 5.27; 'OLYMPUS OPTICAL CO.,LTD X-2,C-50Z', 7.176; 'OLYMPUS SP550UZ', 5.76; 'OLYMPUS X100,D540Z,C310Z', 5.27; 'Panasonic DMC-FX01', 5.76; 'Panasonic DMC-FX07', 5.75; 'Panasonic DMC-FX9', 5.76; 'Panasonic DMC-FZ20', 5.760; 'Panasonic DMC-FZ2', 4.54; 'Panasonic DMC-FZ30', 7.176; 'Panasonic DMC-FZ50', 7.176; 'Panasonic DMC-FZ5', 5.760; 'Panasonic DMC-FZ7', 5.76; 'Panasonic DMC-LC1', 8.80; 'Panasonic DMC-LC33', 5.760; 'Panasonic DMC-LX1', 8.50; 'Panasonic DMC-LZ2', 5.76; 'Panasonic DMC-TZ1', 5.75; 'Panasonic DMC-TZ3', 5.68; 'PENTAX Corporation PENTAX *ist DL', 23.5; 'PENTAX Corporation PENTAX *ist DS2', 23.5; 'PENTAX Corporation PENTAX *ist DS', 23.5; 'PENTAX Corporation PENTAX K100D', 23.5; 'PENTAX Corporation PENTAX Optio 450', 7.176; 'PENTAX Corporation PENTAX Optio 550', 7.176; 'PENTAX Corporation PENTAX Optio E10', 5.76; 'PENTAX Corporation PENTAX Optio S40', 5.76; 'PENTAX Corporation PENTAX Optio S4', 5.76; 'PENTAX Corporation PENTAX Optio S50', 5.76; 'PENTAX Corporation PENTAX Optio S5i', 5.76; 'PENTAX Corporation PENTAX Optio S5z', 5.76; 'PENTAX Corporation PENTAX Optio SV', 5.76; 'PENTAX Corporation PENTAX Optio WP', 5.75; 'RICOH CaplioG3 modelM', 5.27; 'RICOH Caplio GX', 7.176; 'RICOH Caplio R30', 5.75; 'Samsung Digimax 301', 5.27; 'Samsung Techwin ', 5.76; 'SAMSUNG TECHWIN Pro 815', 8.80; 'SONY DSC-F828', 8.80; 'SONY DSC-N12', 7.176; 'SONY DSC-P100', 7.176; 'SONY DSC-P10', 7.176; 'SONY DSC-P12', 7.176; 'SONY DSC-P150', 7.176; 'SONY DSC-P200', 7.176; 'SONY DSC-P52', 5.27; 'SONY DSC-P72', 5.27; 'SONY DSC-P73', 5.27; 'SONY DSC-P8', 5.27; 'SONY DSC-R1', 21.5; 'SONY DSC-S40', 5.27; 'SONY DSC-S600', 5.760; 'SONY DSC-T9', 7.18; 'SONY DSC-V1', 7.176; 'SONY DSC-W1', 7.176; 'SONY DSC-W30', 5.760; 'SONY DSC-W50', 5.75; 'SONY DSC-W5', 7.176; 'SONY DSC-W7', 7.176; 'SONY DSC-W80', 5.75}; exif = exifread(imageFileName); img = imread(imageFileName); res_x = max(size(img,1),size(img,2)); if isfield(exif,'FocalLengthIn35mmFilm') % this will take care of iphone ccd_width_mm = 36; focal_mm = exif.FocalLengthIn35mmFilm; focal_pixels = res_x * (focal_mm / ccd_width_mm); elseif isfield(exif,'FocalLength') str = sprintf('%s %s',exif.Make,exif.Model); % Trim leading, trailing spaces str = str; ccd_width_mm = ccd_widths{find(ismember(ccd_widths(:,1),str)),2}; focal_mm = exif.FocalLength; focal_pixels = res_x * (focal_mm / ccd_width_mm); end