JPEG drehen anhand des orientation-flag in den EXIF

AW: JPEG drehen anhand des orientation-flag in den EXIF

@ Werner

Hi

Habe es eben mit einlesen2 probiert. Das Bild wird gedreht, aber das Orientation-Flag bleibt unverändert, dadurch dreht bsp. Photoshop es beim öffnen nochmal, chaos perfekt. :-( :-))

Jetzt mach ich mich mal an mein erstes Skript.

schöne Grüße

Andreas
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

MKCanon setzt das Orientation-Flag nach dem Drehen zurück.

Das Skript Einlesen tat das auch mal. Weiß aber nicht, ob ich den Originalquelltext noch auf der Platte habe.
Irgendwer hat den Quelltextteil mit dem Flag dann gelöscht. Gibt irgendwo einen Thread darüber. Keine Ahnung mehr, warum.

Schönen Gruß,
Werner
 
Zuletzt bearbeitet:
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo,

ich hab diese Orientation-Flag-Geschichte ehrlich gesagt noch nicht vermisst. Zumal wie ja schon erwähnt, jedes Programm irgendwie ein bißchen anders damit umgeht.

jetzt möchte mal meine Vorgehensweise präsentieren:

in der Computeransicht RMT - Ganzbildschirmansicht, dann blättere ich mit den Pfeiltasten durch. Wenn ein Bild querliegt, dann mit STRG-L oder STRG-R drehen, weiterblättern bis zum Ende, fertig.

Der Vorteil ist, daß mit dieser Methode Bild und Thumbnail gedreht werden. Dann brauch ich kein Orientation-Flag. Hat das meine D60 überhaupt?
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo kuni-r,

kuni-r schrieb:
Hallo,

ich hab diese Orientation-Flag-Geschichte ehrlich gesagt noch nicht vermisst.
......
Hat das meine D60 überhaupt?

es ist nur eine zu klärende Frage, ob neuere Digitalkameras so etwas inzwischen in den EXIFs haben.
Wenn ja, ist ein gewisser Sinn angedacht und den könnte man doch ggf. für eigene Zwecke nutzen.

Ich weiss zwar nicht, wie aufwendig das ist, aber Joachim hat doch inzwischen Unmengen an RAW-Dateien diverser Digicams.
Vielleicht könnte er ja da mal den Durchsuchungsmodus starten.

Wenn der grösste Teil dies anbietet, kann mans zumindest auf die offene Punkteliste setzen ;)

Gruss
Michael
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo Michael,

ich stimme Dir uneingschränkt zu. Ich wollte nur ausdrücken, daß es mir persönlich nicht sonderlich wichtig ist, ob oder ob nicht. Ich find's so wie ich's derzeit mache, einfach nur angenehm, weil ich im gleichen Durchgang auch gleich lösche, was ich nicht brauche.
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo zusammen

@Kuni

Wenn du mir ein Hochformatfoto schickst, dann sag ich dir, ob deine Cam das kann. Muss aber direkt aus der cam kommen. FF verfälscht das Flag leider beim Speichern.

@Destroyer

Hier mal der Auszug aus den Exif-Spezifikationen:
Orientation
The image orientation viewed in terms of rows and columns.
Tag = 274 (112.H)
Type = SHORT
Count = 1
Default = 1
1 = The 0th row is at the visual top of the image, and the 0th column is the visual left-hand side.
2 = The 0th row is at the visual top of the image, and the 0th column is the visual right-hand side.
3 = The 0th row is at the visual bottom of the image, and the 0th column is the visual right-hand side.
4 = The 0th row is at the visual bottom of the image, and the 0th column is the visual left-hand side.
5 = The 0th row is the visual left-hand side of the image, and the 0th column is the visual top.
6 = The 0th row is the visual right-hand side of the image, and the 0th column is the visual top.
7 = The 0th row is the visual right-hand side of the image, and the 0th column is the visual bottom.
8 = The 0th row is the visual left-hand side of the image, and the 0th column is the visual bottom.
Other = reserved



Ob sinnvoll oder nicht, hier mein Skript.
Es überprüft alle markierten Bilder und dreht sie bei Bedarf, das Orientation-Flag wird dann natürlich zurückgesetzt.

Code:
'Autor: saruman a-menzel@web.de
'
'Dieses Skript überprüft alle selektierten Fotos auf Hochformat.
'Dazu nutzt es das Orientation-Flag in den Exif-Daten, das viele Kameras schreiben
'Alle Hochformatfotos werden verlustfrei gedreht und anschliessend das 
'Orientation-Flag zurückgesetzt, damit das Bild bei einem erneuten Durchlauf nicht nochmal
'gedreht wird.


Dim Datei
Dim DateiCount
Dim Orientation
Dim i
i = 0

'Alle selektierten Fotos durchgehen
DateiCount = ff_GetImageCount
while i < DateiCount
	Datei = FF_GetImageName(i)

	FF_SetProgressText i, DateiCount-1, Datei

	'Wenn die Exif-Daten fehlen, das Bild überspringen
	If FF_LoadExif(Datei) Then
		If FF_HasExif Then
	
			Orientation = FF_GetExifTag("Orientation")
	
			'Wenn Hochformat oder Kopfüber, dann Exif-Daten zurücksetzen
			If Orientation = 3 or Orientation = 6 or Orientation = 8 then
				FF_SetExifTag("Orientation"), 1
				FF_SaveExif Datei
			end if
	
			'Jetzt wird verlustfrei gedreht
			If Orientation = "8" Then	  
				FF_RotateFile Datei, 270
			ElseIf Orientation = "6" Then
				FF_RotateFile Datei, 90
			ElseIf Orientation = "3" Then
				FF_RotateFile Datei, 180
			End If

		End If		
	End If
	i=i+1
wend

Grüße

Andreas
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo Andreas,

Saruman schrieb:
'Jetzt wird verlustfrei gedreht
If Orientation = "8" Then
FF_RotateFile Datei, 270
ElseIf Orientation = "6" Then
FF_RotateFile Datei, 90
ElseIf Orientation = "3" Then
FF_RotateFile Datei, 180
End If
hast Du mal getestet, ob Deine Kamera auch andere Winkel messen kann?
Nicht, dass Du obige drei Werte abfragst und bekommst eine Fehlermeldung.

Gruss
Michael, der leider vom Scripten keine Ahnung hat
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo,
Wenn du mir ein Hochformatfoto schickst, dann sag ich dir, ob deine Cam das kann. Muss aber direkt aus der cam kommen. FF verfälscht das Flag leider beim Speichern.
Passt schon. Ich hab mal mit Werners Script, ThumbsPlus und Irfan View gesucht. Sowohl bei der D60 als auch bei der Caplio steht immer Top left drin, egal wie die Kamera gehalten wurde. Ist mir auch echt nicht so wichtig. Die 5D, die hoffentlich jetzt dann bald bei mir aufschlägt, wird's dann schon haben.
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hi

Also wenn es nicht einer der obigen Werte ist, dann wird das Bild einfach übergangen.
Aber gehen wir mal die möglichen Werte laut Spec durch:

1= 1. Zeile ist oben, 1. Spalte ist links
passt

2= 1. Zeile ist oben, 1. Spalte ist rechts
vertikal gespiegelt

3= 1. Zeile ist unten, 1. Spalte ist rechts
auf dem Kopf

4= 1. Zeile ist unten, 1. Spalte ist links
horizontal gespiegelt

5= 1. Zeile ist links, 1. Spalte ist oben
gedreht und gespiegelt

6= 1. Zeile ist rechts, 1. Spalte ist oben
gedreht

7= 1. Zeile ist rechts, 1. Spalte ist unten
gedreht und gespiegelt

8= 1. Zeile ist links, 1. Spalte ist unten
gedreht

Also, wenn es wirklich eine Kamera gibt, die ein Bild gespiegelt speichert, dann baue ich das ein, aber ich habe das noch nicht gesehen. :-)

Grüße

Andreas
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hi Kuni

Die 5d hat es ganz sicher.

Grüße
Andreas
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo,

es werden nur die Werte 1, 6 und 8 gebraucht! Was anderes ist in Exif nicht definiert.
Die restlichen Werte stammen aus dem Tiff-Dateiformat und wird bei Scannern eingesetzt um z. B. bei spiegelverkehrt nicht die Daten neu aufbauen zu müssen.

Die neueren Canon-Kameras unterstützen das Flag alle. Schon die PowerShot G3 konnte das und die ist schon betagt.

@Kuni,
schau doch mal in Dein Kamera-Menü, ob es sich nicht anschalten läßt. Kann man nämlich auch ausschalten!
Eine weitere mögliche Option in der Kamera ist es manuell zu setzen, wenn kein Sensor eingebaut ist.

Schönen Gruß,
Werner.
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

V2.80 B54: Kontextmenü Computeransicht um Auswahl nach Bildlage erweitert.
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Sehr schön, Joachim, sogar das Problem mit meiner Frau gelöst! ;D
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hi

Heja, ich bin baff. Wozu habe ich denn da das Skript geschrieben? :-( :-)))

Vielen Dank, mir fehlen gerade etwas die Worte.


Grüße

Andreas
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo!

Wenn Du öfters hier reinschaust, wirst Du sehen, solche Überraschungen hat Joachim immer wieder in petto. :D

Gruß,

Ralf
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Gehe ich recht in der Annahme, dass diese neue Funktion nur mit den entsprechenden Kameras zu gebrauchen ist?

Bei meinen Fotos (FujiFinepix S602Zoom) funktioniert das nämlich leider nicht.
heul.gif
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hi

Die Kamera muss das Orientation-Flag in die Exif schreiben. Ob es deine Cam macht weiss ich nicht, wenn du möchtest schick mir ein orginal-jpg aus der Cam, das im Hochformat aufgenommen wurde, dann sehe ich es mir an.

Grüße

Andreas

PS: Wenn das Flag nicht gesetzt ist, dann könnte man mit einem Skript die Lage erkennen. Wenn du die Cam beim Fotografieren immer gleich hälst, dann wäre das eine Möglichkeit, wenn du sie aber mal so und mal so herum hälst, dann klappt es nicht.
 
AW: JPEG drehen anhand des orientation-flag in den EXIF

Hallo,
Meine A2 hat keinen Lagesensor, sie erkennt und markiert also Hochkantbilder nicht automatisch.
Wenn ich aber schon in der Kamera beim Preview das Bild drehe, dann wird das EXIF Tag gesetzt.
Somit kann dann später per Software trotzdem automatisch gedreht werden.
 
Zurück
Oben