Miniaturbild aus CR2-Bild mit Exiftool extrahieren

1429
John T

Ich versuche, ein JPEG-Miniaturbild aus einem CR2-Bild unter exiftoolWindows zu extrahieren .

Mit diesem Programm, QuickJPGFromCR2, war ich erfolgreich . Aus der Beschreibung scheint es, die JPEG-Vorschau aus den EXIF-Daten zu extrahieren. Die resultierende Datei hat die gleiche Breite und Höhe wie das Originalbild und liegt für die Dateien, mit denen ich arbeite, zwischen 1 und 2 MB.

Erstens ist die Ausgabe von exiftool .\Kendall_FACS_0002_0100A.cr2wie folgt:

ExifTool Version Number : 10.45 File Name : Kendall_FACS_0002_0100A.cr2 Directory : . File Size : 25 MB File Modification Date/Time : 2016:10:20 14:47:47-05:00 File Access Date/Time : 2016:11:21 18:26:10-06:00 File Creation Date/Time : 2017:01:23 14:14:05-06:00 File Permissions : rw-rw-rw- File Type : CR2 File Type Extension : cr2 MIME Type : image/x-canon-cr2 Exif Byte Order : Little-endian (Intel, II) Image Width : 5184 Image Height : 3456 Bits Per Sample : 8 8 8 Compression : JPEG (old-style) Make : Canon Camera Model Name : Canon EOS REBEL T3i Preview Image Start : 68120 Orientation : Horizontal (normal) Preview Image Length : 1708300 X Resolution : 72 Y Resolution : 72 Resolution Unit : inches Modify Date : 2016:10:20 14:46:19 Artist :  Rating : 0 Copyright :  Exposure Time : 1/100 F Number : 16.0 Exposure Program : Manual ISO : 100 Sensitivity Type : Recommended Exposure Index Recommended Exposure Index : 100 Exif Version : 0230 Date/Time Original : 2016:10:20 14:46:19 Create Date : 2016:10:20 14:46:19 Components Configuration : Y, Cb, Cr, - Shutter Speed Value : 1/99 Aperture Value : 16.0 Flash : Off, Did not fire Focal Length : 40.0 mm Macro Mode : Normal Self Timer : Off Quality : RAW Canon Flash Mode : Off Continuous Drive : Single Focus Mode : Manual Focus (3) Record Mode : CR2 Canon Image Size : n/a Easy Mode : Manual Digital Zoom : None Contrast : Normal Saturation : Normal Metering Mode : Evaluative Focus Range : Not Known Canon Exposure Mode : Manual Lens Type : Canon EF 40mm f/2.8 STM Max Focal Length : 40 mm Min Focal Length : 40 mm Focal Units : 1/mm Max Aperture : 2.8 Min Aperture : 23 Flash Activity : 0 Flash Bits : (none) Zoom Source Width : 0 Zoom Target Width : 0 Manual Flash Output : n/a Color Tone : Normal SRAW Quality : n/a Auto ISO : 100 Base ISO : 100 Measured EV : 6.00 Target Aperture : 16 Target Exposure Time : 1/102 Exposure Compensation : 0 White Balance : Daylight Slow Shutter : None Shot Number In Continuous Burst : 0 Optical Zoom Code : n/a Camera Temperature : 30 C Flash Guide Number : 0 Flash Exposure Compensation : 0 Auto Exposure Bracketing : Off AEB Bracket Value : 0 Control Mode : Camera Local Control Measured EV 2 : 6.625 Bulb Duration : 0 Camera Type : EOS High-end ND Filter : n/a Canon Image Type : Canon EOS REBEL T3i Canon Firmware Version : Firmware Version 1.0.2 Flash Metering Mode : Off Camera Orientation : Horizontal (normal) Firmware Version : 1.0.2 File Index : 2 Directory Index : 100 Contrast Standard : 0 Sharpness Standard : 3 Saturation Standard : 0 Color Tone Standard : 0 Contrast Portrait : 0 Sharpness Portrait : 2 Saturation Portrait : 0 Color Tone Portrait : 0 Contrast Landscape : 0 Sharpness Landscape : 4 Saturation Landscape : 0 Color Tone Landscape : 0 Contrast Neutral : 0 Sharpness Neutral : 0 Saturation Neutral : 0 Color Tone Neutral : 0 Contrast Faithful : 0 Sharpness Faithful : 0 Saturation Faithful : 0 Color Tone Faithful : 0 Contrast Monochrome : 0 Sharpness Monochrome : 3 Filter Effect Monochrome : None Toning Effect Monochrome : None Contrast Auto : 0 Sharpness Auto : 3 Saturation Auto : 0 Color Tone Auto : 0 Filter Effect Auto : n/a Toning Effect Auto : n/a Contrast User Def 1 : 0 Sharpness User Def 1 : 3 Saturation User Def 1 : 0 Color Tone User Def 1 : 0 Filter Effect User Def 1 : None Toning Effect User Def 1 : None Contrast User Def 2 : 0 Sharpness User Def 2 : 3 Saturation User Def 2 : 0 Color Tone User Def 2 : 0 Filter Effect User Def 2 : None Toning Effect User Def 2 : None Contrast User Def 3 : 0 Sharpness User Def 3 : 3 Saturation User Def 3 : 0 Color Tone User Def 3 : 0 Filter Effect User Def 3 : None Toning Effect User Def 3 : None User Def 1 Picture Style : Auto User Def 2 Picture Style : Auto User Def 3 Picture Style : Auto Canon Model ID : EOS Rebel T3i / 600D / Kiss X5 Thumbnail Image Valid Area : 0 159 7 112 AF Area Mode : Off (Manual Focus) Num AF Points : 9 Valid AF Points : 9 Canon Image Width : 5184 Canon Image Height : 3456 AF Image Width : 5184 AF Image Height : 3456 AF Area Widths : 139 139 139 196 238 196 139 139 139 AF Area Heights : 186 186 186 127 231 127 186 186 186 AF Area X Positions : -1477 -886 -886 0 0 0 886 886 1477 AF Area Y Positions : 0 418 -418 787 0 -787 418 -418 0 AF Points In Focus : (none) AF Points Selected : 0,1,2,3,4,5,6,7,8 Original Decision Data Offset : 0 Bracket Mode : Off Bracket Value : 0 Bracket Shot Number : 0 Raw Jpg Size : Large Long Exposure Noise Reduction 2 : Off WB Bracket Mode : Off WB Bracket Value AB : 0 WB Bracket Value GM : 0 Live View Shooting : Off Focus Distance Upper : 2.16 m Focus Distance Lower : 1.46 m Flash Exposure Lock : Off Internal Serial Number : ZC1954285 Dust Removal Data : (Binary data 1024 bytes, use -b option to extract) Crop Left Margin : 0 Crop Right Margin : 0 Crop Top Margin : 0 Crop Bottom Margin : 0 Exposure Level Increments : 1/3 Stop ISO Expansion : Off Flash Sync Speed Av : Auto Long Exposure Noise Reduction : Off High ISO Noise Reduction : Standard Highlight Tone Priority : Disable AF Assist Beam : Does not emit Mirror Lockup : Enable Shutter-AE Lock : AF/AE lock Set Button When Shooting : Normal (disabled) LCD Display At Power On : Display Add Original Decision Data : Off Aspect Ratio : 3:2 Cropped Image Width : 5184 Cropped Image Height : 3456 Cropped Image Left : 0 Cropped Image Top : 0 Tone Curve : Standard Sharpness : 3 Sharpness Frequency : n/a Sensor Red Level : 0 Sensor Blue Level : 0 White Balance Red : 0 White Balance Blue : 0 Color Temperature : 5200 Picture Style : Auto Digital Gain : 0 WB Shift AB : 0 WB Shift GM : 0 Measured RGGB : 431 1024 1024 768 VRD Offset : 0 Sensor Width : 5344 Sensor Height : 3516 Sensor Left Border : 152 Sensor Top Border : 56 Sensor Right Border : 5335 Sensor Bottom Border : 3511 Black Mask Left Border : 0 Black Mask Top Border : 0 Black Mask Right Border : 0 Black Mask Bottom Border : 0 Color Data Version : 10 (600D/1200D) WB RGGB Levels As Shot : 2123 1024 1024 1556 Color Temp As Shot : 5200 WB RGGB Levels Auto : 2028 1024 1024 1606 Color Temp Auto : 4908 WB RGGB Levels Measured : 2028 1024 1024 1606 Color Temp Measured : 4908 WB RGGB Levels Daylight : 2123 1024 1024 1556 Color Temp Daylight : 5200 WB RGGB Levels Shade : 2439 1024 1024 1321 Color Temp Shade : 7000 WB RGGB Levels Cloudy : 2280 1024 1024 1431 Color Temp Cloudy : 6000 WB RGGB Levels Tungsten : 1540 1024 1024 2341 Color Temp Tungsten : 3200 WB RGGB Levels Fluorescent : 1869 1024 1024 2226 Color Temp Fluorescent : 3729 WB RGGB Levels Kelvin : 2123 1024 1024 1556 Color Temp Kelvin : 5200 WB RGGB Levels Flash : 2367 1024 1024 1411 Color Temp Flash : 6303 Average Black Level : 2048 2048 2048 2048 Raw Measured RGGB : 99047 229396 224807 170653 Per Channel Black Level : 2047 2047 2048 2048 Normal White Level : 11767 Specular White Level : 12279 Linearity Upper Margin : 10000 Picture Style User Def : Auto; Auto; Auto Picture Style PC : None; None; None Custom Picture Style File Name :  Vignetting Corr Version : 0 Peripheral Lighting : Off Chromatic Aberration Corr : Off Peripheral Lighting Value : 0 Original Image Width : 5184 Original Image Height : 3456 Peripheral Lighting Setting : Off Peripheral Illumination Corr : Off Auto Lighting Optimizer : Off User Comment :  Sub Sec Time : 46 Sub Sec Time Original : 46 Sub Sec Time Digitized : 46 Flashpix Version : 0100 Color Space : sRGB Exif Image Width : 5184 Exif Image Height : 3456 Interoperability Index : R98 - DCF basic file (sRGB) Interoperability Version : 0100 Focal Plane X Resolution : 5728.176796 Focal Plane Y Resolution : 5808.403361 Focal Plane Resolution Unit : inches Custom Rendered : Normal Exposure Mode : Manual Scene Capture Type : Standard Owner Name : CAM1100A1 Serial Number : 252076117630 Lens Info : 40mm f/? Lens Model : EF40mm f/2.8 STM Lens Serial Number : 00002bc0be Thumbnail Offset : 55048 Thumbnail Length : 13072 Photometric Interpretation : RGB Samples Per Pixel : 3 Rows Per Strip : 432 Planar Configuration : Chunky Strip Offsets : 3513124 Strip Byte Counts : 22248252 Raw Image Segmentation : 2 1728 1888 SRaw Type : 1 Aperture : 16.0 Drive Mode : Single-frame Shooting File Number : 100-0002 Image Size : 5184x3456 Lens : 40.0 mm Lens ID : Canon EF 40mm f/2.8 STM Megapixels : 17.9 Preview Image : (Binary data 1708300 bytes, use -b option to extract) Scale Factor To 35 mm Equivalent: 1.6 Shooting Mode : Manual Shutter Speed : 1/100 Create Date : 2016:10:20 14:46:19.46 Date/Time Original : 2016:10:20 14:46:19.46 Modify Date : 2016:10:20 14:46:19.46 Thumbnail Image : (Binary data 13072 bytes, use -b option to extract) WB RGGB Levels : 2123 1024 1024 1556 Blue Balance : 1.519531 Circle Of Confusion : 0.019 mm Depth Of Field : 1.38 m (1.35 - 2.73 m) Field Of View : 31.9 deg Focal Length : 40.0 mm (35 mm equivalent: 62.9 mm) Hyperfocal Distance : 5.23 m Lens : 40.0 mm (35 mm equivalent: 62.9 mm) Light Value : 14.6 Red Balance : 2.073242 

Betrachten -bwir also die binären Datenfelder (diejenigen, die das Extrahieren mit der Option vorschlagen ), erhalten wir:

Dust Removal Data : (Binary data 1024 bytes, use -b option to extract) Preview Image : (Binary data 1708300 bytes, use -b option to extract) Thumbnail Image : (Binary data 13072 bytes, use -b option to extract) 

Der Preview ImageTag scheint das zu sein, was wir suchen, aber auch das Thumbnail Imageist interessant (wenn auch recht klein).

Führen Sie die folgenden Befehle aus:

exiftool -b .\Kendall_FACS_0002_0100A.cr2 > out.jpg exiftool -b -PreviewImage .\Kendall_FACS_0002_0100A.cr2 > out.jpg exiftool -b -ThumbnailImage .\Kendall_FACS_0002_0100A.cr2 > out.jpg 

Die ersten beiden Befehle ergeben 3,28 MB große Dateien, während der letzte nur 25,6 KB groß ist. Alle können in keinem Programm geöffnet werden. Windows Photo Viewer sagt, dass es die Datei nicht öffnen kann, weil the file appears to be damaged, corrputed, or is too large.

Wenn Sie den identifyBefehl ImageMagick verwenden, erhalten Sie folgende Ausgabe für das Preview ImageTag:

exiftool -b -PreviewImage .\Kendall_FACS_0002_0100A.cr2 | identify - identify.exe: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504.  exiftool -b -PreviewImage .\Kendall_FACS_0002_0100A.cr2 | identify jpg:- identify.exe: Not a JPEG file: starts with 0x3f 0x3f `-' @ error/jpeg.c/JPEGErrorHandler/322. 

Ich habe an anderen Stellen im Internet festgestellt, dass Leute die -JpegFromRawOption verwenden, aber meine EXIF-Daten haben kein solches Tag.

Also, was zum Teufel mache ich falsch?

3

1 Antwort auf die Frage

4
StarGeek

Im ersten Befehl extrahieren Sie alle rohen Metadaten und speichern sie in out.jpg. Dadurch wird eine Junk-Datei erstellt, die kein Bild ist. Der zweite und der dritte Befehl sollten funktionieren und sie funktionieren auf der .cr2-Probe, die ich habe. Das PreviewImage ist ein eingebettetes JPG, das mit dem JPG identisch sein sollte, wenn Ihre Kamera zum Speichern von JPG + RAW eingestellt wurde. Das ThumbnailImage ist ein sehr kleines JPG (160x120 in dem von mir vorgestellten Beispiel), das von einigen Programmen als Miniaturbild verwendet werden kann, um das Durchsuchen des Bildes zu beschleunigen.

Die Option "JpegFromRaw" wird verwendet, um Vorschaubilder von älteren Kameras zu extrahieren, von denen ich glaube, dass sie wahrscheinlich nichts für Ihre Kamera tun wird.

Welche Version von Exiftool verwenden Sie (Typ exiftool -ver)?

Beide exiftool -b -PreviewImage .\Kendall_FACS_0002_0100A.cr2 > out.jpgund exiftool -b -ThumbnailImage .\Kendall_FACS_0002_0100A.cr2 > out.jpgsollte funktionieren.

Bearbeiten: Nach einigen Tests zwischen uns scheint es, als ob PowerShell davon ausgeht, dass die Ausgabe von Exiftool ASCII ist und diese in Unicode konvertiert, wodurch die Ausgabe beschädigt wird.

Mit diesem Thema verbundene Webseiten:
https://brianreiter.org/2010/01/29/powershells-object-pipeline-corrupts-piped-binary-data/
https://blogs.msdn.microsoft.com/sergey_babkins_blog/2016/12 / 29 / un-messing-unicode-in-powershell /

Zusammenfassend war an den Befehlen selbst nichts auszusetzen, sondern eher beim Umgang mit Binärdaten von Powershell. Das Ausführen der Befehle in CMD führt zu der erwarteten Ausgabe.

Danke für die Antwort! Ich verwende Version 10.45. Leider funktioniert keiner der Befehle, die funktionieren sollten. Kein Programm wird die Datei öffnen, und ImageMagicks Befehl `Identifizieren 'funktioniert nicht. Andere Programme können das Bild erfolgreich extrahieren, daher weiß ich, dass es vorhanden ist und nicht beschädigt ist. John T vor 7 Jahren 0
Versuchen Sie, out.jpg in einem Texteditor wie Notepad zu öffnen, und sehen Sie sich den Anfang der Datei an. Sie sollten am Anfang "ÿØÿà" sehen. Können Sie eine Probe freigeben? StarGeek vor 7 Jahren 0
Nein, die Datei beginnt mit `╪ █ ä`. Ich möchte das CR2 mit Ihnen teilen, aber SE bietet keine privaten Nachrichtenfunktionen und möchte es nicht öffentlich veröffentlichen. Ich könnte wahrscheinlich die JPEG-Ausgabedatei bereitstellen. John T vor 7 Jahren 0
Wenn Sie bereit sind, cr2 zu teilen, haben Sie eine temporäre E-Mail-Adresse, mit der Sie mich kontaktieren können und ich schaue genauer hin. StarGeek vor 7 Jahren 0