Hvad er HDR-filformatet?
Filen .hdr er et Radiance HDR (High Dynamic Range) rasterbillede, udviklet af Greg Ward ved Lawrence Berkeley National Laboratory som en del af Radiance-lyssimuleringssystemet i slutningen af 1980'erne. Formatet blev oprindeligt gemt med filtypenavnet .pic, før .hdr blev standard.
Hver pixel er kodet ved hjælp af RGBE - tre 8-bit mantissa-værdier for rød, grøn og blå kanaler, plus en enkelt delt 8-bit eksponent. Dette pakker en fuld floating-point HDR-pixel ned i kun 4 bytes, hvilket repræsenterer et dynamisk område, der spænder over cirka 76 størrelsesordener (~10⁻³⁸ til 10³⁸). Kompromiset er, at alle tre kanaler deler én eksponent, så præcisionen pr. kanal er lavere end i formater som OpenEXR, der gemmer ægte 16- eller 32-bit floats pr. kanal og understøtter flere lag.
Filen begynder med en ASCII-header, der indeholder signaturen #?RADIANCE (nogle værktøjer skriver #?RGBE i stedet - begge er gyldige). Efter key=value-variabelblokken og en opløsningslinje gemmes pixeldata som run-length encoded (RLE) scanlines. En alternativ luminanskodning er også understøttet: Ved at sætte header-feltet FORMAT til 32-bit_rle_xyze skiftes der fra RGB til CIE XYZ-farverum.
.hdr-filer er vidt brugt til HDRI-environment maps i 3D-rendering og spilmotorer, hvor det høje dynamiske område muliggør nøjagtig billedbaseret belysning. De understøttes af Blender, GIMP, Adobe Photoshop og de fleste realtids-renderingspipelines. Til VFX-produktionsarbejde, der kræver float-præcision pr. kanal og understøttelse af flere lag, er OpenEXR i vid udstrækning blevet industristandarden.
Sikkerhed og tryghed
RISIKO: LOWEn Radiance .hdr er et passivt billede - ingen scripts, makroer eller eksekverbart indhold - så selve filen er ikke en malware-vektor. De eneste praktiske forholdsregler er store filstørrelser for højopløselige HDRI-kort og sjældne fejl i billedbibliotekers parsere; hold din editor opdateret. Undgå tvivlsomme «gratis HDR-konverteringssider», der pakker adware - GIMP, Krita, Blender og Photopea dækker behovet gratis.
Formatdetaljer
kort fortalt- Analog Devices / Mentor SPICE .hdr (header-data) - Nogle EDA- og dataværktøjer skriver en almindelig tekst-baseret .hdr header/metadata-fil - urelateret til billedbehandling.
- ENVI / remote-sensing .hdr header - ENVI-rasterheadere bruger .hdr som en tekst-sidefil, der beskriver et tilhørende råbillede, ikke et Radiance-billede.
- Spilmotor / installerede '.hdr' assets - Lejlighedsvis navngiver en motor et pakket HDR-cubemap eller en generisk header-fil .hdr.
Programmer der åbner HDR-filer
Tekniske detaljer
dyb specifikation| Kodningsskema | RGBE - 8-bit mantissa pr. R, G, B kanal plus én delt 8-bit eksponent; pakker en HDR-pixel i præcis 4 bytes |
| Dynamisk område | ~76 størrelsesordener (~10⁻³⁸ til 10³⁸); svarer til cirka 25+ fotografiske stops |
| Filsignatur | ASCII `#?RADIANCE` efterfulgt af newline (0x0A) ved byte offset 0; `#?RGBE` ved offset 0 er ligeledes gyldig og udbredt |
| Komprimering | Adaptiv run-length encoding (RLE) af scanlines; flad (ukomprimeret) scanline-lagring er også tilladt ifølge specifikationen |
| Header-format | Ren ASCII key=value variabelblok (FORMAT, EXPOSURE, COLORCORR, PRIMARIES, SOFTWARE, osv.) afsluttet af en blank linje |
| Opløsningslinje | Koder bredde, højde og orientering som f.eks. `-Y 512 +X 1024`; alle fire kombinationer af spejling/rotation er understøttet |
| Farvekodninger | `32-bit_rle_rgbe` (lineær RGB, standard) og `32-bit_rle_xyze` (CIE XYZ luminans-variant), valgt via header-feltet `FORMAT` |
| MIME-type | `image/vnd.radiance` (IANA-registreret); `image/x-hdr` er et udbredt uformelt alternativ |
| Byte-orden | Endian-neutral; pixeldata består af individuelle bytes gemt pr. pixel uden multi-byte heltalsfelter |
| Typisk filstørrelse | 1 MB - 30 MB; panoramiske HDRI-environment maps i opløsninger som 8192×4096 når det øvre område |
| Dimensionsgrænse | Ingen hård formatgrænse; bredde og højde gemmes som almindelige decimale heltal i opløsnings-headerlinjen |
| Farverum | Lineært lys uden indlejret gammakurve; EXPOSURE og COLORCORR header-felter indeholder scene-refererede korrektions-metadata |
| Alfakanal | Ikke understøttet; hverken RGBE- eller XYZE-kodningen inkluderer et gennemsigtigheds- eller alfaplan |
| Præcision pr. kanal | ~8 bits relativ præcision pr. kanal på grund af den delte eksponent; absolut nøjagtighed afhænger af scenens eksponeringsværdi |
| Historisk filtype | `.pic` blev brugt i det oprindelige Radiance-lyssystem; `.hdr` blev dominerende, da formatet spredte sig til billedbehandling og 3D-værktøjer |
| Udgivet | 1985-1989 (Radiance lighting simulation system); .pic originally, later .hdr |
| Seneste version | RGBE/XYZE encoding (stable; format essentially unchanged) |
| Åben standard | Ja · royaltyfri |
| Specifikation | floyd.lbl.gov |
HDR-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om HDR-filer.