Editați exif. ExifTool: citiți și editați metadatele fișierului. Manipularea datei și orei

Pentru a descrie fiecare punct al unui pixel de imagine digitală - element de imagine (element de imagine, la propriu) trebuie să specificați mai multe numere. În cazul unei reprezentări raster RGB pe 8 biți, fiecare pixel este caracterizat de trei cuvinte computerizate de 8 biți pentru fiecare dintre canale. Există 3 milioane de astfel de cuvinte într-o imagine de megapixeli. Prin urmare, fișierele grafice în format raster atât de mare. Înregistrarea a o mie de cuvinte pe parcurs nu va fi dificilă și nu va necesita costuri suplimentare. Dar aceste cuvinte „non-grafice” - metadatele permit:
a) potriviți culorile și luminozitatea percepute de cameră sau scaner cu luminozitatea sau culorile de pe afișajul computerului;
b) cunoașteți setările de fotografiere a camerei pentru fișierul de imagine (scăpați de blocnotele de hârtie și de înregistratoarele vocale care stochează note memorabile);
c) confirmați dreptul de autor,
d) găsiți imaginea dorită în baza de date folosind un cuvânt cheie sau chiar coordonatele geografice ale locului de fotografiere,
e) convertiți automat fișierul în formatul necesar pentru ieșire și imprimați corect imaginea mod automat(inclusiv fără computer),
și multe altele.DCF

Regulă de proiectare pentru sistemul de fișiere pentru camere (descris în) este un standard industrial pentru organizarea datelor în dispozitive pentru primirea, stocarea, conversia și ieșirea de imagini digitale. Adoptat în 1998 (Japan Electronics Industry Development Association) pentru a standardiza procesul de transfer de date între diferite dispozitive. În prezent, este membru al Asociației Industriilor de Electronică și Tehnologia Informației din Japonia.

Structura fișierelor de pe cardul de memorie a unui dispozitiv digital este supusă regulilor DCF. În vizualizarea obișnuită, acesta este un arbore de foldere cu fișiere și fişiere separate. Imaginile sunt de obicei stocate în subfolderele directorului DCIM. Alții stochează fișiere video și sunet, date „sistem” pentru setările camerei și șabloane pentru crearea de galerii HTML. Lucrările de imprimare DPOF (dosarul MISC) permit imprimantei de imprimare directă să găsească și să execute însăși lucrarea de imprimare.

Software-ul care vine cu camera, folosind informații DCF, copiază automat imaginile de pe cardul de memorie pe computer într-o bază de date, construiește panorame, deschide aplicații pentru conversie Fișier RAW ov și face mult mai mult, ceea ce doar imaginația dezvoltatorilor ar putea face.

Standardul DCF include, de asemenea, o descriere a formatului fișierelor grafice reale JPEG, TIFF, RAW. Fișierele grafice, la rândul lor, se supun regulilor organizațiilor și asociațiilor care le-au aprobat. Standardul EXIF ​​face parte din specificația DCF.

Structura datelor de pe cardul de memorie al camerei Epson L-500V

Pentru o funcționare corectă diverse dispozitive cu fișiere multimedia (sunet, imagini), a fost adoptat standardul universal pentru antetul fișierului EXIF. EXIF - Format de imagine interschimbabil (versiunea 1.0 a fost publicată în 1995). Formatul prevede stocarea datelor de imagine sau muzică, copiile lor reduse (pentru JPEG 160×120 este recomandat) și o subsecțiune a unei descriere text a datelor într-un singur fișier.

Versiunea modernă a standardului este Exif 2.2 (descris în). Include, de asemenea, tehnologie pentru gestionarea automată a culorilor și procesarea imaginii în conformitate cu setările de fotografiere a scenei pentru imprimare sau afișare (versiunea 2.0 presupune codificarea culorilor în spațiu sRGB, în versiunea 2.2 spațiul de culoare poate fi oricare).

Partea text a secțiunii Exif a fișierului constă din markeri și etichete care descriu un anumit parametru (identificatorul și numele parametrului corespunzător) și valoarea acestui parametru (valoarea într-un format specific pentru reprezentarea unei valori sub forma unui cod ASCII, număr rațional, zecimal, hexazecimal etc.) . Setul de etichete conține o parte mai mult sau mai puțin standardizată și obligatorie și secțiuni „date” producătorilor de hardware și software pentru scopurile lor speciale. Software conceput pentru a citi datele EXIF ​​mapează etichetele la definițiile lor și valorile la valori. În același timp, creatorii nu respectă întotdeauna specificațiile și, prin urmare, apar neînțelegeri. Astfel, definiția unui câmp de informații poate fi înlocuită cu echivalentul corespunzător, general acceptat, dar valoarea nu este convertită în formatul corespunzător. Sau producătorul camerei scrie informații în câmpul corespunzător etichetei într-un format incorect sau despre un parametru total diferit. Dacă acesta este un program foarte specializat pentru o anumită marcă de camere, atunci de obicei nu există neînțelegeri. Utilizatorul este „obligat prin achiziție” să respecte regulile descrise în manualul software și, după ce a studiat dispozitivul și programul său, va înțelege ce despre care vorbim. Dar dacă acesta este un program universal, atunci confuzia cu denumirea incorectă a etichetelor și formatarea valorilor corespunzătoare nu este neobișnuită. Acesta este un preț inevitabil de plătit pentru versatilitate. Și, de asemenea, pentru limbajul familiar, deoarece, conform regulilor limbajului EXIF, valorile parametrilor sunt doar numere (de exemplu, inch - „1”, cm - „2”), iar programul le traduce în cuvintele pe care le înțelegem (ceea ce nu este necesar, de exemplu sunt prezentate sub formă de numere unii parametri în Adobe Photoshop, secțiunea de informații „EXIF avansat”).

Sa luam in considerare partea de informare fisier grafic folosind exemplul unei fotografii digitale și a unui cititor de antet EXIF. Următorul tabel prezintă principalele etichete ale formatului EXIF ​​folosind exemplul Canon EOS 300D și aplicația. Pe lângă ExifRead, alte programe afișează și antete: , .

EtichetăDescriereExemplu JPEG Canon 300D de la ExifRead
Nume de fișiernume de fișierIMG_2614.JPG
Aplicație
Marker
simbolul necesar pentru potrivirea corectă a aplicațiilor utilizatorului cu formatul de înregistrare informatii oficiale,
markerul APP1 indică un bloc de informații JPEG EXIF, standard APP0 - JFIF (JPEG File Interchange Format), APP2 - FlashPix
JFIF_APP1: Exif
Faceproducator de camereCanon
Modelmodel de camerăCanon EOS 300D DIGITAL
Orientareorientarea camerei la fotografiere, poziția colțului cadrului cu coordona 0.0partea stângă
Rezoluție Xrezoluție de ieșire (printare), puncte pe inch de-a lungul coordonatei X180/1
YRezoluțierezoluție de ieșire (printare), puncte pe inch de-a lungul coordonatei Y180/1
Rezoluţie
Unitate
unitatea de lungime la care este dată rezoluția de ieșire, „1” inci, „2” centimetriinch
DateTimedata la care imaginea a fost modificată ultima dată2004:07:13 11:57:35
YCbCr
Poziționare
poziția punctului care definește culoarea în celula de date YСbCrCentrat
ExifOffsetshift, poziția directorului de fișiere imagine - bloc de imagine în fișier196
Expunere
Timp
extras1/400 de secunde
FNumbernumărul de deschidere11,0
ISO
SpeedRatings
fotosensibilitate echivalentă200
ExifVersionVersiune în format Exif0221
DateTime
Original
timpul de filmare2004:07:13 11:57:35
DateTime
Digitalizat
timpul de creare a fișierelor digitale2004:07:13 11:57:35
Componente
Configurare
format pentru reprezentarea datelor într-un fișier imagineYCbCr
Comprimat
BitsPerPixel
compresie JPEG medie3/1 (biți/pixel)
Obturator
SpeedValue
valoarea vitezei obturatorului în reprezentarea APEX1/400 de secunde
vedere corectă în APEX „8.6” (1/2 8.6)
ApertureValuedimensiunea deschiderii în reprezentarea APEXF 11,0,
vedere corectă în APEX „7” (2 7/2)
Expunere
BiasValue
compensarea expunerii în unități EV (APEX)EV0.0
Max
ApertureValue
deschiderea maximă a obiectivului în reprezentarea APEXF 5.00,
vedere corectă în APEX „4.6” (2 (4.6)/2)
Contorizare
Modul
tip de măsurare, „0” nedefinit, „1” medie, „2” ponderat în centru, „3” spot, „4” multi-punct, „5” multi-segment, „6” parțial, „255” altele.Divizia
FlashflashNu concediat
Distanta focaladistanța focală a obiectivului de pe cameră125,00 (mm)
Comentariu utilizatorutilizatorul comentează fișierul, dacă camera vă permite să le specificați
FlashPixVersionCompatibil cu formatul de date FlashPix - International Imaging Industry Association - standard I3A0100 - compatibil cu formatul FlashPix Ver.1.0
ColorSpacespațiul de culoare al fișierului, DCF presupune sRGB, care corespunde valorii markerului „1”, un alt spațiu - „65535” (necalibrat)sRGB
ExifImage
Lăţime
lățimea imaginii, pixeli2048
ExifImage
Înălţime
înălțimea imaginii, pixeli3072
Interoperabilitate
Decalaj
parametru care determină poziția directorului fișierului imagine - blocul de imagine din fișier2366
Plan focal
Rezoluție X
densitatea senzorilor de pe matrice de-a lungul coordonatei X2048000/595,
sau 3442 pe inch,
vă permite să determinați dimensiunea senzorului cu X - 25,4x2048/3442 = 15,11 mm
sau
25,4x595/1000 = 15,11 mm
Plan focal
YRezoluție
densitatea senzorilor de pe matrice de-a lungul coordonatei Y3072000/892,
sau 3443/inch
dimensiunea senzorului
25,4x3072/3443 = 22,66 mm
Plan focal
Unitate de rezoluție
unitate de măsură pentru densitatea senzorului, „1” nedefinit, „2” inci, „3” centimetriContor, eroare
valoarea corectă în inchi este dată de aplicația IrfanView
Sentire
Metodă
tip de senzorSenzor de zonă de culoare cu un singur cip - un singur senzor cu o matrice de filtru de culoare
FileSourcesursa imaginiiDSC - Cameră foto digitală
Personalizat
Redat
procesarea imaginiiProces normal
Expunere
Modul
modul expoautomaticAuto
Scenă
CaptureType
program de povesteStandard
Notă producătorului (furnizor)secțiunea de parametri suplimentari (parametrii dați mai jos), pentru dezvoltator, poziția saFormat Canon: 1408 de octeți (Offset: 942)
Modul macromodul macro la fotografiereOprit
Temporizator automattemporizator la fotografiereOprit
Calitatecompresie JPEGAmenda
Modul blițmodul blițOprit
Secvenţă
modul
modul de schimbare a cadruluiUn singur cadru
Modul de focalizarealgoritm de focalizareO singura sansa
Marimea imaginiimarimea imaginiiMare
Mod de fotografiere ușormodul programManual
Zoom digitalzoom digital
Contrastparametri de procesare a imaginii, contrastMare, +1
Saturareparametri de procesare a imaginii, saturațieMare, +1
Claritateparametrii de procesare a imaginii, claritateMare, +1
Valoarea ISOfotosensibilitate100
Contorizare
modul
tip de contorizareEvaluativ
Tipul de focalizaretipul de focalizareNecunoscut
Punct AF selectatpunct de concentrareNecunoscut (8197)
Expunere
modul
modul de expunerePrioritate de deschidere
Distanta focalaobiectiv pe cameră100-300 mm
Activitate flashflashOprit
Secvenţă
număr
cadru într-o serie de fotografii0
alb
Echilibru
măsurarea balansului de albAuto
Prejudecata flashcompensarea expunerii blițului în EV (APEX)0 EV
Firmware
Versiune
versiunea firmware a camereiVersiunea de firmware 1.1.1
Număr de serie al camerei (Irfan)
Număr de serie (EXIF Reader)
numărul de serie al camerei1070439357 (Irfan)
3FCD-39869 (Cititor EXIF)
Imagine
Număr
numărul fotografiei făcute de cameră,
primele trei cifre sunt numărul dosarului, ultimele patru sunt numărul de serie al fișierului
2262614
Proprietar
Nume
numele de utilizator al camerei, dacă este personalizatSerghei Șerbakov
Temperatura de culoareTemperatura colorată5200K
WhitePointdeterminarea punctului alb al imaginii,
dacă se utilizează standardul CIE D65 - valoarea „3127/10000.3290/10000”
ParametriiOpțiuni JPEGStandard
YCbCr
Coeficienți
pentru reprezentarea YCbCr factori de conversie în format RGB
de obicei „0,299/0,587/0,114”
Referință BlackWhitedeterminarea punctului alb/negru
pentru YCbCr
valorile specifică punctul alb/negru pentru canalele Y, Cb, Cr și RGB
Drepturi de autordrepturi de autor"Autor"
pentru EXIF, completat ACDSee
Artistautor"Autor"
completat ACDSee
Descrierea imaginii
descrierea fotografiei„Ilustrație etichete EXIF” completate în ACDSee
Informații miniaturi
Comprimare
JPEGInterchangeFormat
JPEGInterchangeFormatLength
informații despre o copie redusă a imaginii în antetul EXIF ​​​​OLDJPEG
2211
6492
Configurarea componentelorformat de codificare a datelor caracteristice pixelilor
RGB „0x04.0x05.0x06.0x00”,
YCbCr „0x01.0x02.0x03.0x00”
pentru trimitere:
0x01:Y, 0x02:Cb, 0x03:Cr,
0x04:Roșu, 0x05:Verde, 0x06:Albastru
Luminozitate
Valoare
luminozitatea parcelei în APEX,
pentru a calcula Expunerea (Ev) la BrigtnessValue (Bv), trebuie să adăugați valoarea SensitivityValue (Sv)
pentru trimitere:
Ev=Bv+Sv Sv=log 2 (ISOSpeedRating / 3,125)
ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7
Subiect
Distanţă
distanta de focalizare, m
Ușoară
Sursă
sursa de lumina, setarea balansului de alb,
„0” nesetat, „1” lumină de zi, „2” fluorescent, „3” tungsten, „10” bliț, „17” standard A, „18” standard B, „19” standard C, „20” D55, „ 21" D65, "22" D75, "255" altele
Legate de
SoundFile
numele fișierului audio atașat fotografiei
CFAPatterngeometria filtrelor pe o matrice (Color filter array-CFA)
De exemplu:
Interpretare fotometricăreprezentarea culorilor: „1” monocrom, „2” RGB, „6” YCbCr

Puteți compara datele EXIF ​​pentru un fișier JPEG obținut de la Canon ZOOMBrowserEX și ExifRead (câmpurile de etichetă care apar ca „Necunoscut” în ExifRead sunt abreviate):

ExifReadCanonZOOMBrowserEX
Nume fișier: IMG_2614.JPG
JFIF_APP1: Exif
Informații principale
Marca: Canon
Model: Canon EOS 300D DIGITAL
Orientare: partea stângă
Rezoluție X: 180/1
YRezoluție: 180/1
Unitate de rezoluție: inch
DateTime: 2004:07:13 11:57:35
YCbCrPozitionare: centrat
ExifInfoOffset: 196
Subinformații
Timp de expunere: 1/400 sec
Număr F: F11.0
ISOSpeedRatings: 200
ExifVersion: 0221
DataTimeOriginal: 2004:07:13 11:57:35
DateTimeDigitized: 2004:07:13 11:57:35
Configurație componente: YCbCr
CompresedBitsPerPixel: 3/1 (bit/pixel)
ShutterSpeedValue: 1/400 sec
Valoarea diafragmei: F11.0
ExposureBiasValue: EV0.0
MaxApertureValue: F5.0
Mod de măsurare: Diviziune
Flash: Nu a fost declanșat
Lungime focală: 125,00 (mm)
MakerNotă: Format Canon: 1408 de octeți (Offset: 942)
Comentariu utilizator:
Versiunea FlashPix: 0100
ColorSpace: sRGB
ExifImageWidth: 2048
Înălțimea imaginii Exif: 3072
ExifInteroperabilityOffset: 2366
Rezoluție FocalPlaneX: 2048000/595
FocalPlaneYRezoluție: 3072000/892
FocalPlaneResolutionUnit: Meter
SensingMethod: Senzor OneChipColorArea
Sursa fișierului:DSC
CustomRendered: proces normal
Mod de expunere: automat
Balans de alb: automat
SceneCaptureType: Standard
Informații originale ale vânzătorului
Autodeclanșator: Dezactivat
Calitate: bine
FlashMode: Dezactivat
Modul Drive: Un singur cadru
Mod de focalizare: One-Shot
Dimensiune imagine: mare
Mod de fotografiere ușor: manual
Contrast: +1
Saturație: +1
Claritate: +1
Modul de măsurare: evaluativ
Punct AF selectat: Necunoscut (8197)
Lungimea focală a lentilei: 100-300 (mm)
Activitate bliț: Dezactivat
Ton de culoare: Normal
Necunoscut (0001)3.46:005C...FFFF
Necunoscut (0002)3,4: 0,125.610.914
Necunoscut (0003)3,4: 100,0,0,0
Balans de alb: automat
Polarizarea blițului: 0EV
Necunoscut (0004)3.33: 0042 ... 0000
Necunoscut (0093)3.9: 18.0.0...,65535
Tip imagine: IMG:EOS300DDIGITALJPEG
Versiunea de firmware: FirmwareVersion1.1.1
Număr de serie: 3FCD-39869
Necunoscut (0015)4,1: -1879048192
Număr imagine: 2262614
Nume proprietar: SergeySherbakov
Necunoscut (0010)4.1: -2147483280
Necunoscut (000E)4.1: 2620984
Necunoscut (000D)1,512:0,...,0.0.0.0.0.0
Necunoscut (0000)3,18: 0,...0,0,0,0,0,0,0
Necunoscut (00C0)3.13: 001A...CC 0190
Necunoscut (00C1)3.13: 001A...C6 016C
Necunoscut (00AA)3.5: 10.529...,1026.698
Necunoscut (00A8)3,10: 20,429...,0,0,0,0,0
Necunoscut (00A9)3.41: 82,...,129,127
Temperatura de culoare: 5200K
Parametri: Standard
Necunoscut (0012)3,24: 7,7,...,65535
Necunoscut (0013)3.4: 0.159.7.112
Necunoscut (0000)3,5: 0,0,0,0,0
Necunoscut (00B6)4,12: 24,...,262146
ExifR98
ExifR: R98
Versiune: 0100
Necunoscut (4097): 2048
Necunoscut (4098): 3072
Informații miniaturi
Compresie: OLDJPEG
Rezoluție X: 180/1
YRezoluție: 180/1
Unitate de rezoluție: inch
JPEGInterchangeFormat: 2548
JPEGInterchangeFormatLength: 6492
Nume fișier IMG_2614.JPG
Numele modelului camerei
Canon EOS 300D DIGITAL
Data/Ora fotografierii
13.07.2004 11:57:35
Mod fotografiere AE cu prioritate diafragmă
TV (viteza obturatorului) 1/400
Av(valoarea diafragmei) 11
Modul de măsurare evaluativ
Compensarea expunerii 0
Viteza ISO 200
Lentila 100,0 - 300,0 mm
Distanța focală 125,0 mm
Dimensiunea imaginii 2048x3072
Calitate imagine Fine
Bliț oprit
Balans de alb automat
Mod AF AF One-Shot
Parametrii Contrast +1
Claritate +1
Saturația culorii +1
Ton de culoare Normal
Spațiu de culoare sRGB
Dimensiunea fișierului 2240KB
Modul Drive Fotografiere cu un singur cadru
Numele proprietarului Sergey Sherbakov
Corpul camerei Nr. 1070439357

Date EXIF ​​pentru fișierul RAW (Canon EOS 300D) obținute din programul ExifRead și aplicația Canon ZOOMBrowserEX:

ExifReadCanonZOOMBrowserEX
Nume fișier: CRW_5185.CRW
Antet Canon CRW
Imagine CCDRAW: 4910386 octeți(offset:26)
Imagine JPEG: 534464bytes(offset:4910412)
Necunoscut (1803): 1,0
ImageSpec: 3072Ѓ~2048
ExpouserMode: Single
Necunoscut (1804): 0,1256
Necunoscut(1817): 24817,6724
CapturedTime: 2004:10:16 10:17:02
ImageFileName: CRW_5185.CRW
ThumbnailFileName: CRW_5185.THM
Necunoscut(0805):
Necunoscut (1814): 0,3724
Necunoscut(0805): EOS 300D DIGITAL CMOS RAW
ImageType: CRW:EOS 300D DIGITAL CMOS RAW
Nume proprietar: Sergey Sherbakov
Nume model: Canon EOS 300D DIGITAL
Necunoscut(180B): 39869,9577
Sensibilitate ISO: 100
ROMOoperationMode: SUA
FirmwareVersion: Versiunea de firmware 1.1.1
Sensibilitate ISO: 100
Lungime focală a obiectivului: 18,0 (mm)
Balanța de alb: lumina zilei
Număr de secvență (mod continuu): 0
Polarizarea blițului: 0EV
Necunoscut(102A): 66,0,...,0,0,0,0
Necunoscut(1093): 18,0,......,5535
Autodeclanșator: Dezactivat
Calitate: RAW
FlashMode: Dezactivat
Modul Drive: Un singur cadru
Mod de focalizare: MF
Dimensiune imagine: mare
Mod de fotografiere ușor: manual
Contrast: normal
Saturație: normală
Claritate: Normal
Modul de măsurare: evaluativ
ExposureProgram: Prioritate de deschidere
Lungimea focală a lentilei: 18-55 (mm)
Activitate bliț: Dezactivat
Ton de culoare: Normal
Necunoscut(102D): 92,0,...,65535,65535
Necunoscut(0036): 0E82
Necunoscut (1834): 368,2833
CCDImagine Dimensiune: 3152Ѓ~2068
Necunoscut (1835): 1.0.514.4000
Necunoscut(1038): 7,7,3072,...,0,65535
Necunoscut(10C0): 26.336,.....,460.400
Necunoscut(10C1): 26.305,.....,454.364
Necunoscut(10C2): 884,.....,78,151,28
Necunoscut(10AA): 10.877,....588
Necunoscut(10A8): 20,3871,...,5200
Necunoscut(10AD): 62,...,65099,65325
Necunoscut(10AE): 5200
Necunoscut (10AF): 1024
Necunoscut(10A9): 82,1398,...,124,126
Necunoscut(10B4): 2
Necunoscut(10B5): 10,3,1,2048,1360
Necunoscut(1039): 0.159.7.112
Necunoscut (183B): 0
Nume fișier CRW_5185.CRW
Numele modelului camerei
Canon EOS 300D DIGITAL
Data/Ora fotografierii
16.10.2004 10:17:02
Mod de fotografiere
AE cu prioritate de deschidere
TV (viteza obturatorului)
1/30
Av(valoarea diafragmei)
3.5
Mod de măsurare
Evaluativ
Compensarea expunerii
0
Viteza ISO
100
Obiectiv
18,0 - 55,0 mm
Distanta focala
18,0 mm
Marimea imaginii
3072x2048
Calitatea imaginii
BRUT
Flash
Oprit
Echilibru alb
Lumina zilei
Modul AF
Focalizare manuală
Parametrii
Contrast Normal
Claritate Normală
Saturația culorii Normală
Ton de culoare Normal
Spațiu de culoare
Adobe RGB
Mărime fișier
5323KB
Modul Drive
Fotografiere cu un singur cadru
Numele proprietarului
Serghei Şerbakov
Corpul camerei Nr.
1070439357

Note.

1. Unele câmpuri de date pentru etichetele „Necunoscute” din tabele au fost scurtate.

2. Etichetele „ShutterSpeedValue”, „ApertureValue” și altele (cu identificatorul Value) în conformitate cu standardul EXIF ​​sunt scrise nu în valorile fotografice obișnuite, ci în reprezentarea APEX. Uneori, aplicațiile pentru vizualizarea datelor EXIF ​​convertesc formatul APEX în forma obișnuită, uneori nu.

Ce este formatul APEX? APEX (The Additive System for Photographic Exposure) este o formă convenabilă de înregistrare și, cel mai important, de exprimare a relațiilor dintre condițiile de expunere. Este convenabil deoarece funcționează cu valori logaritmice cu o bază de 2. În ele, dublarea expunerii corespunde creșterii acesteia cu un pas, adică cu viteza obturatorului sau nivelul de deschidere obișnuit. Pentru a calcula expunerea în format APEX, trebuie doar să utilizați o formulă simplă: AV + TV = LV + SV = EV. Unde AV și respectiv TV, APEX este diafragma și viteza obturatorului, luminozitatea LV, fotosensibilitatea SV. În același timp, în APEX, diafragma f/1.0, viteza obturatorului TV = 0 - 1 s, luminozitatea LV = 0 - 3.4 candelas/m*m, fotosensibilitatea SV = 0 - 3.125 (în ISO) sunt luate ca valori zero ​de AV = 0. ).

Pentru a distinge termenii fotografici „apertura” și „viteza obturatorului” de valorile din APEX, se obișnuiește să însoțească toate valorile exprimate în format APEX cu cuvântul „valoare” - ca „valoare a diafragmei”, iar atunci când sunt prescurtate, adăugați litera „V” - ca Av.

Este interesant că acum, în camerele Canon cu prioritate de declanșare și moduri de prioritate a diafragmei Tv și Av, o serie de valori pe comenzi sunt scrise în secundele inverse obișnuite și numerele diafragmei. Acest lucru se explică prin faptul că „pictogramele” Tv și Av au apărut pe camerele Canon atunci când formatul APEX era practic important pentru calcularea expunerii și era popular. Și valorile APEX au fost folosite ca valori ale acestor cantități. Apoi, odată cu dezvoltarea automatizării și unificării dispozitivelor de măsurare a expunerii, importanța practică a formatului APEX pentru fotograf a devenit minimă și a fost abandonată, revenind la numerele și secundele obișnuite de diafragmă. Dar marcajele modului Canon rămân aceleași ().

Modul în care sunt afișate informațiile în program pentru vizualizarea parametrilor de fotografiere depinde de dezvoltator. În mod oficial, eticheta „Valoare deschidere” corespunde unei valori în unități APEX fără sufixe sau prefixe. Dar, de exemplu, în Canon ZOOM Browzer EX eticheta „Valoarea diafragmei” este afișată în formatul numărului de deschidere, dar fără prefixul „f/” (pentru claritate, ar trebui scris astfel, adică „f/”) , și Tv, care, totuși, înseamnă „Shutter Speed”, ca o fracțiune de secundă fără „c”, ceea ce este corect dacă cunoașteți istoricul pictogramelor Av/Tv de pe Canon. În ACDSee versiunea 5, „Valoarea deschiderii” este afișată corect în unități APEX, iar în versiunea 7 în formatul familiar „f/number”. Puteți determina ce se ascunde în spatele „Valoarea diafragmei” în programul dvs. uitându-vă la valoarea unei alte etichete EXIF ​​„Număr F”. Dacă valorile numerice coincid, atunci „valoarea diafragmei” este afișată în numere de deschidere, dacă nu, în unități APEX. Apoi verificați corespondența folosind formula Valoare deschidere = 2 x Log 2 F-număr. (Este ușor de observat că la f/4 - APEX este tot 4, dar aceasta este singura excepție).

3. Standardele DCF și EXIF ​​sunt „extinse” în mod constant și li se adaugă noi specificații și, în consecință, etichete. În plus, producătorii de hardware și software introduc uneori noi specificații de metadate. Astfel de specificații pot fi integrate în EXIF, dar pot fi și complet independente. Astfel, în câmpurile de date EXIF ​​există markeri care indică compatibilitatea cu formatele de prezentare a datelor FlashPix (International Imaging Industry Association - standard I3A), markeri care descriu extensia ExifR98, date GPS și altele. Cu ieșirea EXIF ​​​​PRINT, pentru procesarea automată a imaginii în conformitate cu scena de fotografiere, la EXIF ​​au fost adăugate etichete care descriu setările „scenei” ale camerei digitale: bliț, mod de expunere, balans de alb, viteza obturatorului, distanță până la subiect, sursă de lumină, program de scenă, zoom digital, post-procesare, contrast, saturație, claritate, reducere a zgomotului. O tehnologie alternativă pentru potrivirea tipăririi și procesării PIM (- EPSON, 2001) adaugă, de asemenea, 12 (PIM I) sau 14 (PIM II) puncte de „poveste” la metadate.


Metadate editabile în ACDSee

Printre etichetele standard EXIF ​​se numără cele concepute pentru a organiza stocarea imaginilor pe un computer. Acestea sunt: ​​proprietarul camerei, numele de utilizator, drepturile de autor, descrierea și altele. Dacă nu pot fi completate direct la fotografiere, atunci trebuie să utilizați fie un software „proprietar” de la cameră, fie programe universale. Astfel de programe includ, de exemplu, Adobe Photoshop și ACDSee. Cu ajutorul lor, puteți modifica valorile etichetelor listate. Dar trebuie să fii atent, nu toate „câmpurile” care pot fi completate în astfel de programe sunt salvate ca metadate ale fișierului. Programul poate stoca datele în baza sa de date și nu le poate scrie în fișierul imagine. Așadar, Adobe Photoshop, pe lângă câmpurile standard de descriere a fișierelor (enumerate mai sus), vă permite să completați multe altele, iar pentru fișierele RAW puteți chiar să înregistrați setările „ajustate” ale camerei. Dar toate acestea sunt stocate Informații suplimentare fie într-o singură bază de date Photoshop de pe computer, fie sub forma unui fișier de metadate „*.XMP” care este transferat împreună cu fișierul principal (și fișierul RAW în sine, prin definiție, nu este supus modificărilor).

În general, imaginile de diferite formate pot avea metadate, dar voi vorbi folosind JPEG ca exemplu, deoarece Am lucrat cu el. Cred că pentru alte formate diferența va fi mică.

Tipuri de metadate

Mai întâi, să ne dăm seama ce tipuri de metadate pot fi într-o imagine. Probabil că toată lumea știe deja acest lucru, dar în caz că vă spun:

  • EXIF (Exchangeable Image File Format) este un standard de stocare a metadatelor de imagine utilizat de camerele digitale pentru a stoca informații despre viteza obturatorului, diafragma și alți parametri de fotografiere. Metadatele EXIF ​​pot fi stocate în fișiere JPEG, TIFF și RIFF WAV. Conform standardului, doar o descriere (etichetă de descriere) și un comentariu (etichetă Comentariu utilizator) pot fi stocate în EXIF ​​​​din metadatele descriptive ale utilizatorului, dar Windows Explorer folosește și mai multe etichete suplimentare (XPTitle, XPSubject, XPAuthor, XPComment, XPKeywords). ). Windows Explorer ignoră eticheta XPTitle când există o etichetă Descriere standard.
  • IPTC (International Press Telecommunications Council) este mai degrabă numele organizației care a dezvoltat standardul. Standardul de metadate în sine se numește IIM (Model de schimb de informații). Cel mai vechi dintre standardele descrise. Versiunea originală a standardului a stocat metadate în așa fel încât software-ul care nu știa despre existența IPTC nu putea funcționa cu fișiere de imagine care conțineau astfel de metadate. Cu toate acestea, Adobe a extins ulterior standardul prin mutarea metadatelor în blocul APP13 al fișierului JPEG, permițând software-ului care nu cunoaște standardul să citească cu succes fișierul JPEG, ignorând metadatele necunoscute. Metadatele IPTC pot stoca câmpuri descriptive, cum ar fi ObjectName (titlu), Cuvinte cheie ( Cuvinte cheie), Legendă (descriere, există mai multe variante ale etichetei).
  • XMP (eXtensible Metadata Platform) este un standard dezvoltat de Adobe. Metadatele sunt stocate în modelul RDF reprezentat în format XML, permițându-vă să includeți orice informații necesare în fișierul imagine. Acesta este formatul pe care WIC (Windows Imaging Component) preferă să îl folosească în Windows Vista/7.

Înțelegerea metadatelor în WPF

Pentru a lucra cu metadate în WPF, sunt folosite clasele BitmapEncoder, BitmapDecoder, BitmapSource, BitmapFrame, BitmapMetadata și InPlaceMetadataWriter.
Clasele BitmapEncoder și BitmapDecoder au descendenți care vă permit să lucrați cu formate de imagine specifice. În cazul meu - JpegBitmapEncoder și JpegBitmapDecoder.
Clasa InPlaceMetadataWriter este folosită pentru a modifica metadatele în loc, fără a re-codifica fișierul.
Datele pot fi citite și scrise în două moduri - fie folosind funcțiile GetQuery/SetQuery, care operează pe numele ierarhice ale etichetelor de metadate, fie folosind câmpurile clasei BitmapMetadata, care permit accesul ușor la metadate.
La accesarea metadatelor prin câmpuri din clasa BitmapMetadata, WIC încearcă să găsească câmpuri corespunzătoare în metadatele diferitelor standarde în următoarea ordine: mai întâi XMP, apoi IPTC și EXIF. Când scrieți etichete prin câmpurile de clasă BitmapMetadata, WIC le scrie în format XMP.

Citirea metadatelor

Aici exemplu gata făcut funcții care pot fi folosite pentru a citi metadatele dintr-un fișier:

  1. FileStream f = Fișier .Open("test.jpg" , FileMode.Open);
  2. Decodor BitmapDecoder = JpegBitmapDecoder.Create(f, BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.Default);
  3. Metadate BitmapMetadata = (BitmapMetadata)decoder.Frames[ 0 ].Metadate;
  4. // Obține titlul prin câmpul de clasă
  5. string title = metadate.Title;
  6. // Obțineți antetul de la XMP
  7. șir xmptitle = (șir )metadata.GetQuery(@"/xmp/ dc:title");
  8. // Obține titlul din EXIF
  9. șir exiftitle = (șir )metadata.GetQuery(@"/app1/ifd/(ushort=40091)" );
  10. // Obțineți antetul de la IPTC
  11. șir iptctitle = (șir )metadata.GetQuery();

Totul aici este destul de simplu și transparent, așa că să trecem direct la înregistrare.

Înregistrarea metadatelor

  1. BitmapMetadata md = new BitmapMetadata("jpg");
  2. md.SetQuery(@"/xmp/ dc:title" , xmptitle);
  3. md.SetQuery(@"/app1/ifd/(ushort=40091)" , exiftitle);
  4. md.SetQuery( @"/app13/irb/8bimiptc/iptc/nume obiect", iptctitle);
  5. BitmapFrame frame = BitmapFrame.Create(decoder.Frames[ 0 ], decoder.Frames[ 0 ].Thumbnail, md, decoder.Frames[ 0 ].ColorContexts);
  6. BitmapEncoder codificator = nou JpegBitmapEncoder();
  7. encoder.Frames.Add(cadru);
  8. FileStream of = File .Open("test2.jpg" , FileMode.Create, FileAccess.Write);
  9. encoder.Save(of);
  10. of.Close();

Codul merge ca o continuare a fragmentului care citește metadatele. Creăm o copie a fișierului original scriind titlul în toate cele trei formate de metadate în metadatele acestuia.

Editarea in situ a metadatelor

Până acum, v-am spus, în general, lucruri destul de bine documentate și simple, dar aici totul este mai complicat. Exemplul din documentația oficială (MSDN) este incorect și, în general, este opus în sensul stării reale a lucrurilor.
Pentru a edita metadatele în loc, trebuie să creați un obiect din clasa InPlaceBitmapMetadataWriter:

După aceea, puteți lucra cu el ca și cu BitmapMetadata obișnuite, apelând SetQuery pentru a seta metadatele necesare.
Pentru a salva modificările, trebuie să apelați metoda TrySave(), care încearcă să salveze modificările în fluxul original. Încercarea de înregistrare poate avea succes sau nu. Dacă încercarea are succes, metoda returnează true, dacă există o eroare, false.
Cea mai frecventă greșeală care poate împiedica înregistrarea modificărilor este că nu există suficient spațiu liber în metadate. De regulă, toate fotografiile proaspăt făcute nu conțin suficient spațiu în metadate, așa că pentru a începe să utilizați editarea la locul metadatelor, ar trebui să faceți o copie a fișierului o dată, adăugând câmpuri speciale de completare la metadatele din el, lăsând spațiu liber pentru modificări ulterioare. Pentru a face acest lucru, fișierul este deschis, cadrul dorit și metadatele sale sunt clonate și sunt executate mai multe interogări:

După aceasta, este suficient să codificați cadrul cu un encoder și să îl scrieți în fluxul dorit, drept urmare spațiu liber va apărea în imagine pentru editarea metadatelor la fața locului mai târziu.
O valoare de completare de 2048 de octeți este de obicei suficientă. Dacă aveți nevoie de mai mult, puteți specifica o valoare mai mare.

Siruri de interogare

Cred că toată lumea, când studiază metodele SetQuery/GetQuery, are o întrebare rezonabilă - de unde să obții toate aceste șiruri de interogare care nu pot fi numite simple și intuitive?
După căutări ample pe MSDN, am găsit o listă corespunzătoare. Probabil că aici există toate întrebările necesare. Cele care lipsesc pot fi compilate, in principiu, prin analogie sunt o multime de exemple :)

Subtilități și capcane

  • Versiunile de WIC în Windows XP și Windows Vista pot eșua dacă firul care apelează funcția JpegBitmapEncoder.Save() nu are atributul STAThread specificat (în mod implicit, toate firele create în aplicație primesc atributul MTAThread, dacă nu se specifică altfel).
  • Versiunea WIC pentru Windows 7 stochează implicit valorile etichetelor EXIF ​​​​UserComment în Unicode, în timp ce Windows XP și Windows Vista le stochează în codificarea limbii curente a sistemului (CP1251 pentru rusă). Formatul pentru înregistrarea parametrilor UTF-8 este următorul: valoarea etichetei în sine este stocată nu ca șir, ci ca o matrice de octeți. Primii 7 octeți sunt șirul ASCII „UNICODE”, după care începe secvența codificată Unicode de caractere de etichetă.
  • Parametrul BitmapCacheOptions trebuie utilizat cu atenție. Valoarea OnLoad memorează în cache toate datele imaginii în formă necomprimată în RAM, așa că dacă deschideți aproximativ 20 de fișiere JPEG de format mare cu această opțiune, memoria liberă va fi consumată foarte repede. Această amintire nu eliberat atunci când ștergeți clasele de imagini în sine (BitmapFrame, BitmapDecoder, etc.) și le procesați de către colectorul de gunoi. În plus, pentru a utiliza InPlaceBitmapMetadataWriter, trebuie să deschideți imaginea cu BitmapCacheOptions = OnDemand sau Default.
  • În exemplu, deschid imaginea cu steagul IgnoreColorProfile, deoarece... fără el, BitmapDecoder aruncă o excepție pentru unele imagini.

Concluzie

În general, lucrul cu metadate folosind WPF mi s-a părut destul de complex și confuz. Aproape toate capcanele descrise m-au costat câteva ore de depanare și căutare pe Google, nu există informații despre asta nicăieri, iar simptomele sunt uneori foarte ciudate. Documentația oficială (MSDN) acoperă prost această problemă și, în unele locuri, este complet incorectă.
Sper că aceste informații colectate îi vor ajuta pe cei care au nevoie să lucreze cu metadate prin WPF și să le salveze câteva ore de timp :)

P.S. Voi fi bucuros să văd comentarii în comentarii (dacă am greșit undeva) și descrieri ale capcanelor pe care nu le-am întâlnit sau am uitat să le menționez.

P.P.S. Merită să continui să scriu despre WPF sau scriu lucruri care sunt cunoscute de mult?

De asemenea, puteți cripta o cantitate imensă de date ascunse în interiorul unei fotografii. Standardul care criptează aceste așa-numite metadate, a primit numele EXIF (Format de fișier imagine interschimbabil).

Desigur, nu vorbim despre mesaje ascunse și corespondență secretă, deși aceasta poate fi aranjată... În primul rând, standardul EXIF ​​este folosit pentru salvați și vizualizați diverse caracteristici ale fotografiei, parametrii acesteia, indicatorii, informații despre autorul și subiectul fotografiei, precum și multe informații suplimentare. Adică, metadatele sunt necesare doar din punctul de vedere al componentei informaționale, ceea ce înseamnă că poți face fără ele.

Multe programe folosesc capacitatea de a salva și vizualiza metadatele fotografiilor. Dacă utilizați sistemul de operare Windows, atunci cel mai probabil ați întâlnit deja date EXIF. Faceți clic dreapta pe orice fotografie, în meniul care apare, selectați elementul din partea de jos „Proprietăți”.

Mai departe, chiar dacă toată lumea versiune diferită Windows, dar sensul este același: găsiți și faceți clic pe butonul/fila "Detalii". Se va deschide un tabel în care vor fi afișate informații, împărțite în categorii condiționate: „Descriere”, „Sursă”, „Imagine”, „Cameră”, „Fotografie îmbunătățită”, „Fișier”. Informațiile care sunt afișate în acest întreg tabel nu sunt altceva decât date EXIF.

Coborâți glisorul de proprietăți din dreapta și vedeți câte metadate diferite poate avea o fotografie. Sunt sigur că în exemplul tău majoritatea rândurilor vor fi goale, deoarece trebuie să le completezi singur. Dar categoria „Cameră” poate fi completată - este completată automat de o cameră sau de un smartphone.

Aceasta nu este o listă exhaustivă de metadate posibile. Doar că dezvoltatorii Windows au crezut că un astfel de tabel ar fi suficient pentru a acoperi aspectele informaționale de bază ale fotografiei. De fapt, ar putea exista mult mai multe astfel de date! În plus, întreg acest volum poate fi împărțit în două grupe: de bază și suplimentare.

Parametrii principali includ acele grupuri de date care vor fi citite în orice program și dispozitiv care poate căuta în coșurile unei fotografii. Aceste date ar trebui să includă: informații despre fișier, descriere, drepturi de autor, informații despre imagine, informații despre cameră și condiții de fotografie. Aceasta înseamnă că indiferent de programul pe care îl utilizați, acesta vă va afișa întotdeauna cel puțin aceste informații.

Parametrii suplimentari includ date cu care vor funcționa numai programele individuale. De exemplu, Photoshop poate crea o filă "Poveste"și păstrați un protocol de editare foto în el. Salvați fotografia, deschideți-o din nou după un timp, chiar și pe alt computer, dar întotdeauna prin Photoshop și puteți vedea oricând ce metadate sunt salvate în fila „Istoric”. Dar dacă încercați să căutați EXIF ​​folosind, de exemplu, Gimp, nu veți mai găsi această filă.

Multe programe serioase folosesc acest lucru. De exemplu, folosind datele EXIF, construiește un sistem pentru filtrarea și sortarea fotografiilor, adăugarea de cuvinte cheie, crearea de categorii și generalizări logice. Astfel, este ușor să găsiți imaginile de care aveți nevoie între zeci de mii.

Datele EXIF ​​pot fi schimbătoare și imuabilă.

Schimbabil, la rândul său, poate fi împărțit în încă două subspecii:

uman editabil, de exemplu, puteți indica singur autorul fotografiei, iar ulterior să o ștergeți și să scrieți un nume nou;

editabil prin program, de exemplu, când salvați o fotografie în Photoshop, programul însuși adaugă o etichetă că fotografia a fost schimbată în Photoshop versiune cutare și cutare. Tu însuți nu vei putea să înregistrezi sau să ștergi această etichetă (cu excepția cazului în care folosești un software special, dar asta este o altă poveste), dar dacă resaveți fotografia în Photoshop altă versiune, apoi eticheta va fi schimbată din nou într-o parte a versiunii, de exemplu, era CS5, dar a devenit CS6.

Imuabil datele sunt înregistrate de programe și dispozitive fără voia dvs. și rămân permanent cu această fotografie, de exemplu, rezoluția imaginii, formatul fișierului, data creării, datele camerei.

De ce și cum să folosiți datele EXIF?

  • În primul rând, aceasta este o înregistrare foarte convenabilă a informațiilor despre o fotografie, ei bine, nu puteți păstra o notă într-un bloc de note la ce viteză de expunere ați făcut aceasta sau acea fotografie! Totul este înregistrat convenabil într-un fișier, când aveți nevoie, deschideți-l, priviți-l, amintiți-l.
  • Aceasta este dovada dreptului de autor al fotografiei dacă introduceți toate informațiile necesare despre dvs.
  • Legat de blocnotes, nu sunt departe de adevar. De asemenea, puteți deschide fotografia dorită și puteți introduce acolo informațiile de care aveți nevoie. Va fi depozitat acolo în siguranță și nu va merge nicăieri. Dar vă reamintesc că va trebui să îl vizualizați prin același program.
  • Ți-a plăcut/nu-ți place calitatea fotografiei făcute? — Analizați datele din categoria „Cameră”. Acolo vei afla în ce condiții și setările camerei a fost făcută această fotografie. Dacă ai admirat/găsit o greșeală, ai dobândit o experiență neprețuită.
  • Browserele profesionale de imagine, de exemplu, sortează și filtrează mase mari de fotografii pe baza metadatelor EXIF.
  • Trimite un mesaj de dragoste micuțului sau criptează datele secrete și ia/trimite-le din țară =))

În al treilea rând, internetul este plin de servicii online pentru lucrul cu metadatele EXIF. Avantajul lor este că nu trebuie să instalați nimic pe computer. Am făcut această operație o dată și am uitat.

Dintre minusuri, voi nota viteza de funcționare - depinde direct de capacitățile tarifului dvs. de internet.

Un exemplu de site pentru eliminarea EXIF ​​​​online este IMGonline.com.ua.

Dacă observați o eroare în text, selectați-o și apăsați Ctrl + Enter. Mulțumesc!

ShowExif este un mic utilitar pentru vizualizarea metadatelor imaginilor digitale capturate folosind camere profesionale.

Utilizare

Dat software Este puțin probabil să vă fie util în munca de zi cu zi cu camera. Cu toate acestea, uneori poate fi nu mai puțin util decât popular editor graficși convertoare de imagini pe care le folosiți aproape în fiecare zi. Necesitatea de a vizualiza metadatele, accesul pe care îl oferă utilitarul, poate apărea din diverse motive. Cu toate acestea, cel mai popular dintre ei este să se familiarizeze cu „kilometrajul” camerei.

Posibilitati

ShowExif nu necesită instalare deoarece este portabil. După descărcare, îl puteți lansa și începe imediat să îl utilizați. Pentru a vedea numărul afișat în contorul care înregistrează când obturatorul este închis, mai întâi faceți o fotografie de pe camera dvs. și descărcați-o pe computer.

Pentru a face acest lucru ar trebui să utilizați Imagine RAW format. După ce ați făcut o fotografie, deschideți-o folosind utilitarul din browser. După aceasta, toate informațiile necesare vor fi afișate pe ecran. Elementul „Numărul total de declanșări” afișat în partea stângă a tabelului este ceea ce aveți nevoie. Uită-te la numărul din linia opusă acestuia - acesta este kilometrajul camerei tale. Toate metadatele pot fi copiate, șterse și salvate pe disc. În plus, le puteți „atașa” primele fotografii.

Caracteristici cheie

  • afișează EXIF ​​lăsat de echipamente fotografice de la cei mai cunoscuți producători;
  • vă permite să copiați, să ștergeți și să salvați metadate pe disc și clipboard;
  • Pentru a vizualiza kilometrajul camerei, este necesară o fotografie în format RAW;
  • tradus integral în rusă;
  • nu necesita instalare suplimentarăîn sistem, poate fi stocat pe un dispozitiv de stocare amovibil;
  • disponibil complet gratuit;
  • efectuează exportul rapid de miniaturi pe disc;
  • vă permite să vizualizați kilometrajul nu pentru toate camerele, ci doar pentru cele care au acest contor;
  • funcționează pe toate versiunile sistem de operare Windows.