|
| Tabsfri rotation Fra : Stefan Bruhn |
Dato : 16-05-05 11:30 |
|
Findes der et program der laver fuldstændig tabsfri rotation af jpg
billeder?
Jeg har søgt på nettet og downloadet nogen forskellige, men uanset at de
skriver lossless rotation kan jeg konstatere at der forekommer en
genkomprimering af billedet.
Findes der evt. et der kan aflæse kameraets rotationsinfo og dermed køre
en batch på en hel mappe?
--
Mvh. Stefan
For at e-maile udskift "spamfilter" med mit fornavn.
"I demand the right to keep and arm bears"
"A computer without Windows, is like a fish without a bicycle"
| |
KNL DtP (16-05-2005)
| Kommentar Fra : KNL DtP |
Dato : 16-05-05 11:54 |
|
"Stefan Bruhn" <spamfilter@ghashul.dk> skrev i en meddelelse
news:cctg8195kin5l33lg7nast81nvpoe3bt3h@4ax.com...
> Findes der et program der laver fuldstændig tabsfri rotation af jpg
> billeder?
Du kan lave det med Toke's JPEGCrops:
http://ekot.dk/programmer/JPEGCrops/index.en.html
.... ellers er der en liste her:
http://sylvana.net/jpegcrop/losslessapps.html
> Findes der evt. et der kan aflæse kameraets rotationsinfo og dermed køre
> en batch på en hel mappe?
BreezeBrowser har tabsløs rotering. Den kan sættes til at kigge i EXIF-data, og
rotere ud fra dette. Dette kan udføres på en hel mappe, hvilket kan være smart,
hvis man har taget billederne med f.eks. IXUS 500, som har en sensor til
registrering af høj- og bredformat - men som ikke roterer billederne.
http://www.breezesys.com/BreezeBrowser/
MVH
Kristian
www.knl-dtp.dk
| |
Stefan Bruhn (16-05-2005)
| Kommentar Fra : Stefan Bruhn |
Dato : 16-05-05 12:25 |
|
On Mon, 16 May 2005 12:54:05 +0200, "KNL DtP" <knl_dtp@hotmail.com>
wrote:
>
>BreezeBrowser har tabsløs rotering. Den kan sættes til at kigge i EXIF-data, og
>rotere ud fra dette. Dette kan udføres på en hel mappe, hvilket kan være smart,
>hvis man har taget billederne med f.eks. IXUS 500, som har en sensor til
>registrering af høj- og bredformat - men som ikke roterer billederne.
> http://www.breezesys.com/BreezeBrowser/
Jeg hentede trial versionen, og det samme sker her som med de andre jeg
prøvede med.
Mit testbillede går fra 2,97MB til 2,64MB. Hvis det er tabsfrit,
hvorfor bliver filen så ca. 10% mindre?
--
Mvh. Stefan
For at e-maile udskift "spamfilter" med mit fornavn.
"I demand the right to keep and arm bears"
"A computer without Windows, is like a fish without a bicycle"
| |
KNL DtP (16-05-2005)
| Kommentar Fra : KNL DtP |
Dato : 16-05-05 12:38 |
|
"Stefan Bruhn" <spamfilter@ghashul.dk> skrev i en meddelelse
news:1i0h81d2t9sauhth7hfb9eucd3okaanbnp@4ax.com...
> Mit testbillede går fra 2,97MB til 2,64MB. Hvis det er tabsfrit,
> hvorfor bliver filen så ca. 10% mindre?
Det må vel være noget i opbygningen at JPEG-filen. Svjh. flyttes der rundt på
pixelene i store kasser/blokke, når du roterer tabsfrit, så måske kan dette give
en forskel i filstørrelse?
Jeg har selv lige testet lidt, og her fylder billedet 776 kB i bredformat og 781
kB i højformat. Det er uanset om billedet er på hovedet, og uanset hvor mange
gange jeg roterer rundt.
Så længe der ikke sker en genkompression med JPEG af billedet, sker der vel ikke
noget ved, at den ændrer filstørrelse?
MVH
Kristian
www.knl-dtp.dk
| |
Stefan Bruhn (16-05-2005)
| Kommentar Fra : Stefan Bruhn |
Dato : 16-05-05 12:51 |
|
On Mon, 16 May 2005 13:37:37 +0200, "KNL DtP" <knl_dtp@hotmail.com>
wrote:
>Så længe der ikke sker en genkompression med JPEG af billedet, sker der vel ikke
>noget ved, at den ændrer filstørrelse?
Jeg må indrømme at jeg ikke helt havde fattet konceptet. Jeg gik ud fra
at med sådan en reduktion i filstørrelse måtte der være sket en
komprimering, men hvis det ikke er tilfældet kan jeg jo ånde lettet op
:)
Er der en måde at undersøge om der er sket andet end at rotere det?
Eksempel på hvad der sker. Hver rotation er 90% til venstre. Start
størrelse er 2,97mb, dernæst 2,6mb, dernæst 2,7mb, dernæst 2,6mb,
dernæst 2,7mb.
Alså har du ret i at det skifter hele tiden, men det kommer aldrig op på
startværdien. Men det skulle ikke betyde noget?
--
Mvh. Stefan
For at e-maile udskift "spamfilter" med mit fornavn.
"I demand the right to keep and arm bears"
"A computer without Windows, is like a fish without a bicycle"
| |
Toke Eskildsen (16-05-2005)
| Kommentar Fra : Toke Eskildsen |
Dato : 16-05-05 13:38 |
|
Stefan Bruhn wrote:
> Eksempel på hvad der sker. Hver rotation er 90% til venstre. Start
> størrelse er 2,97mb, dernæst 2,6mb, dernæst 2,7mb, dernæst 2,6mb,
> dernæst 2,7mb.
Et JPEG billede kan være forskellige ting. Der kan være indlejret et
thumbnail, der kan være EXIF data, det kan være progressive og der kan
benyttes optimeret eller ikke-optimeret Huffman tabel. Ingen af disse
dele har nogen indflydelse på de endelige pixels.
Reduktionen af filstørrelsen ved første rotering kan f.eks. forklares
ved at thumbnail fjernes. Skiftene mellem 2.6 og 2.7MB kan forklares
med at data kan pakkes forskellige, alt efter hvordan de ligger i
filen.
Meget forsimplet:
AAAAAAAABBBBBBBB kan pakkes som 8*A+8*B, mens
AAAABBBBAAAABBBB kan pakkes som 4*A+4*B+4*A+4*B
> Alså har du ret i at det skifter hele tiden, men det kommer aldrig
> op på startværdien. Men det skulle ikke betyde noget?
Nej.
| |
Knud Gert Ellentoft (16-05-2005)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 16-05-05 12:58 |
| | |
Toke Eskildsen (16-05-2005)
| Kommentar Fra : Toke Eskildsen |
Dato : 16-05-05 12:40 |
|
Stefan Bruhn wrote:
> Findes der et program der laver fuldstændig tabsfri rotation af
> jpg billeder?
Afhængigt af din definition, så nej.
Første begrænsning er at billedets størrelse skal gå op i noget der
hedder MTU, hvilket dækker over hvordan billedet er opsplittet i
blokke. Billeder fra langt de fleste digitalkameraer er med 16x8 pixels
blokke. Hvis MTU ikke passer med billedets dimensioner, skal der enten
beskæres nogen pixels eller også bliver det ikke tabsfrit roteret.
Anden begrænsning er at roteringen godt nok er tabsfri, men at det ikke
garanteres at det er de samme pixels der dekodes før man når tilbage
til udgangspunktet.
A-hwa?
Tag en JPEG (J-0)
Gem den som BMP (B-0)
Roter B-0 90°, gem som BMP (B-1)
Roter J-0 90° "tabsfrit" så den bliver til JPEG (J-1)
Gem J-1 som BMP (B-2)
Roter J-1 3*90° "tabsfrit", så den bliver til JPEG (J-2)
Gem J-2 som BMP (B-3)
Så gælder at B-1 ikke er pixelidentisk med B-2, mens B-0 er
pixelidentisk med B-3.
> Jeg har søgt på nettet og downloadet nogen forskellige, men uanset
> at de skriver lossless rotation kan jeg konstatere at der
> forekommer en genkomprimering af billedet.
Prøv at beskrive hvordan du når det resultat.
> Findes der evt. et der kan aflæse kameraets rotationsinfo og
> dermed køre en batch på en hel mappe?
JHead: http://www.sentex.net/~mwandel/jhead (freeware)
hvis du ikke er bange for kommandolinjen.
| |
|
|