Existuje něco jako jednoduchý editor obrázků pro Linux, který by umožňoval škálování a otáčení obrázku bez použití EXIF dat pro změnu měřítka a rotace?
Ukládání versus export
Vím, že tvrdíte, že to v GIMPu opravdu nechcete, ale podle mých zkušeností se problém, na který narazíte – software upřednostňující data orientace EXIF před skutečnou transformací pixelů v obrázku – scvrkává na rozdíl mezi exportem obrázek a uložení obrázek.
V minulosti 100 % všech editorů obrázků na světě skutečně transformovalo/upravovalo pixely, když se zabývalo jednoduchými transformacemi orientace. Teprve relativně nedávno programy pro úpravu obrázků odložily používání EXIF dat k ukládání některých fyzických transformačních dat.
Proč? Snadný. Vzhledem k tomu, že formát JPEG je ztrátový formát – i když je kvalita nastavena na 100 %, opětovné uložení JPEG pro jednoduché věci, jako je rotace obrazu, bude data pomalu degradovat. Na rozdíl od toho, když tato data uložíte jako informace EXIF, nezpracovaný obrázek JPEG zůstane nedotčen, ale transformační data se předají, takže můžete vidět obrázek otočený, aniž by se během procesu zhoršoval.
Zde vstupuje do hry koncept exportu. Mnoho programů pro úpravu obrázků, jako je GIMP, umožňuje exportovat obrázek, což by v podstatě znamenalo upravit samotná data obrázku a optimalizovat je pro použití v softwaru, který není určen pro úpravu obrázků.
Takže i když mohou existovat další softwarové nástroje, které explicitně upravují obrazová data pro úkoly, jako je rotace, může být příliš náročné je instalovat a používat. Místo toho bych doporučil jednoduše experimentovat s funkcí exportu v jakémkoli softwaru pro úpravu obrázků, který používáte; ať už je to GIMP, Photoshop nebo něco jiného.
Dávkové zpracování
Vše, co bylo řečeno, zmiňujete, že GIMP může být pro vaše potřeby příliš časově náročný. Není jasné, jaký je váš přesný pracovní postup, ale pokud máte složku/adresář naplněný soubory JPEG, které možná budete muset zpracovat, doporučil bych prozkoumat nástroje uvedené v této další odpovědi:
- exiftran :Nástroj používaný k transformaci obrázků JPEG z digitálního fotoaparátu, který dokáže:
Umí bezeztrátové rotace jako jpegtran, ale na rozdíl od jpegtranu se stará o EXIF data:Dokáže otáčet obrázky automaticky kontrolou značky orientace exif, v případě potřeby aktualizuje informace exif (rozměr obrázku, orientace), také otáčí exifthumbnail. Dokáže zpracovat více obrázků najednou.
- JHead :Konkrétně pomocí
jhead
s-autorot
možnost, která je popsána jako:
Pomocí značky 'Orientation' v záhlaví Exif otočte obrázek tak, aby byl vzpřímený. K provedení rotace se používá program 'jpegtran'. Tento program je přítomen ve většině distribucí Linuxu. Forwindows, musíte získat jeho kopii. Po otočení je orientační tag záhlaví Exif nastaven na '1' (normální orientace). Exifthumbnail je také otočený. Ostatní pole záhlaví Exif, včetně rozměrů, zůstávají nedotčená, ale výška/šířka JPEG jsou upraveny.
Tato funkce je užitečná zejména u novějších digitálních fotoaparátů, které nastavují pole orientace v záhlaví Exif automaticky pomocí vestavěného senzoru orientace ve fotoaparátu.
Zde je další nástroj zmíněný v tomto jiném vlákně:
- NConvert :NConvert je multiformátový konvertor obrázků příkazového řádku pro Win32, Linux, DOS, OS/2 a další platformy. Zdá se, že podrobnosti o rychlém spuštění jsou zde. A zdá se, že pokud použijete
nconvert
s-jpegtrans
možnost, která je přesně to, co hledáte. Ale zajímalo by mě, jestli to používá stejnou knihovnu/základní funkcionalitujpegtran
jak doporučuje tato další odpověď na tuto otázku?
Nakonec možná pomocí ImageMagick convert
pomocí nástroje -auto-orient
tato možnost by pro vás fungovala?
-automatická orientace
upraví obrázek tak, aby jeho orientace byla vhodná pro prohlížení (tj. orientace vlevo nahoře).
Tento operátor načte a resetuje nastavení profilu obrázku EXIF „Orientation“ a poté provede příslušné otočení obrázku o 90 stupňů, aby se obrázek zorientoval, aby byl správně zobrazen.
Toto nastavení EXIF profilu se obvykle nastavuje pomocí gravitačního senzoru v digitálním fotoaparátu, ale fotografie pořízené přímo dolů nebo nahoru nemusí mít vhodnou hodnotu. Také snímky, u kterých byla orientace „opravena“ bez resetování tohoto nastavení, mohou být znovu „opraveny“, což vede k nesprávnému výsledku. Pokud byl profil EXIF dříve odstraněn, operátor -auto-orient neudělá nic.
Obvykle používám jpegtran
pro otočení fotografií:
jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg
90 se otočí doprava, použijte 270 pro levou (a 180 pro převrácení).
Při exportu do GIMPu můžete ve vyskakovacím okně těsně před uložením kliknout na Upřesnit, kde můžete zakázat EXIF a XMP.
Celkový algoritmus pro jeho skriptování:
- Pro každý soubor.
- Uložte hodnotu z
exiftool * | grep Orientation
. - Odstraňte exif pomocí
exiftran -ai *
. - Použijte
convert -rotate
s hodnotou z kroku 2.