PDA

Vollständige Version anzeigen : Pixelanzahl aller Ebenen ergibt mehr als die des Gesamtbildes


78kaza78
09.01.14, 17:42
Ich habe ein Bild in mehrere Ebenen unterteilt indem ich mit dem Zauberstab eine Auswahl getroffen habe und aus dieser Auswahl eine neue Ebene erstellt habe.
Addiere ich nun die Pixel aller Ebenen (wie im Histogramm angegeben) ergibt sich eine höhere Summe als die des Originalbildes.
Was habe ich falsch gemacht? Hat irgendjemand eine Idee?
Ich möchte die Pixelzahl jeder Ebene wissen!

heikehk
09.01.14, 18:00
Hallo kaza,
na ja, wenn Du Ebenen hast, dann ist dort auch Bildmaterial, welches von anderen Ebenen überdeckt wir und im Gesamtbild dann nicht sichtbar ist. Ich könnte mir vorstellen, dass das vielleicht daran liegt, wobei es mir ein Rätsel ist, was du mit den Zahlen machen willst :nixweis:
Willkommen im :psc1:
Heike

78kaza78
10.01.14, 08:36
Hallo Heike,
vielen Dank für die schnelle Antwort! Mir ist nicht ganz klar was du meinst mit "wenn Du Ebenen hast, dann ist dort auch Bildmaterial, welches von anderen Ebenen überdeckt wir und im Gesamtbild dann nicht sichtbar ist." Könntest du mir das näher erklären?
Ich dachte, wenn ich Bildelemente auswähle, ausschneide und daraus eine Ebene erstelle, ergibt sich durch die summe aller Ebenen das Gesamtbild und damit auch wieder die Gesamtpixelzahl! Falsch?
Die Zahlen benötige ich für ein wissenschaftliches Projekt, bei dem ich den Anteil bestimmter Elemente in einem Bild prozentual zum Gesamtbild berechne.

heikehk
10.01.14, 09:21
Ok ich versuche es mal.
Schon mal mit overheadfolien gearbeitet?
Die Ebenen sehe ich, aufgrund meines Alters und der ehemaligen Nutzung dieser veralteten Technik ähnlich. Du hast eine Folie mit Bildmaterial, die nur teilweise Material aufgedruckt hat. Nehmen wir mal an, die stellen, auf denen ein Bildteil ist sind voll deckend. Nun legst du eine weitere Folie drüber (weitere Ebene). Dort sind teilweise flächen bedruckt. Ein Teil davon überdeckt das Bildmaterial der unteren Folie, das aber trotzdem noch vorhanden ist.
Jetzt legst du Stück für Stück folien drauf, bis dein Bild fertig ist. Dabei überdecken immer wieder Folien bildbereiche, die auf einer anderen Folie bedruckt sind und "verstecken sie".

Jetzt nimmst du das ganze Bild und machst deren Berechnung der sichtbaren Pixel. Das sind dann alle Pixel, die du siehst.

Wenn du das aber jetzt mit jeder Folie machst, dann rechnest du auch die verdeckten teile mit, denn die sind ja in der ebene selbst sichtbar. Das muss dann unweigerlich zu einer größeren Zahl führen.

Gruß
Heike

stefu
10.01.14, 09:30
Hallo kaza!

Ich muss mal schauen, ob ich Dich richtig verstanden habe.

Du schreibst, dass Du ein Bild in mehrere Ebenen unterteilt hättest, indem Du mit dem Zauberstab eine Auswahl getroffen und anschließend aus dieser Auswahl eine neue Ebene erstellt hättest.
Um dies zu erkennen hattest Du das Histrogrammfenster genutzt.

Wenn diese Auswahlen nicht überlappen, dann sollte die Pixelmenge exakt identisch sein.

Fehlerquellen können demzufolge sein:


Die Auswahl überlappt (das kann mit dem Zauberstab passieren aufgrund des Toleranz-Reglers)
Du hast im Histogrammfenster unter Quelle "Alle Ebenen" gewählt und diese dann jeweils zusammenaddiert.


Ich tendiere nun dazu, dass Du höchstwahrscheinlich bei der Auswahl mit dem Zauberstab Bereiche hast, die sich überlappen.

Zum Testen gehe mal hin und ziehe eine Auswahl mit dem Auswahlrechteck-Werkzeug etwa bis zur Hälfte auf. Kopiere diese Auswahl und füge sie auf eine neue Ebene ein.
Dann invertiere die Auswahl mit Strg + Shift + i und kopiere erneut und füge abermals ein.
Jetzt hast Du zwei Auswahlen, die pixelgenau aneinandergrenzen - die Summe sollte exakt gleich sein.

Der Zauberstab eignet sich aufgrund seiner Algorithmen nicht wirklich für solche Vergleiche, da es hier schnell zu Abweichungen per Überlappung kommt...

Lieben Gruß
Stephan

78kaza78
10.01.14, 13:55
@ Heike
vielen Dank für deine ausführliche Erklärung. Tatsächlich verstehe ich deinen Vergleich mit den Overheadfolien gut! Die Sache ist nur die, dass ich genau andersherum gearbeitet habe. Ich habe ein Gesamtbild genommen, dort Bereiche mit dem Zauberstab ausgewählt, eine neue Ebene durch Ausschneiden erstellt und bin so weiter vorgegangen, bis auf der Originalebene quasi keine sichtbaren Pixel mehr vorhanden waren. Dabei dürften sich doch dann keine Bereiche überlappen, oder?

stefu
10.01.14, 14:01
Um wie viel mehr Pixel handelt es sich denn?

78kaza78
10.01.14, 14:28
@ Stefan:
zu dem Vorschlag der Fehlerquellen:
1. Auswahl überlappt: wie kann ich das ausschließen? Ich habe die neue Ebene durch Ausschneiden erstellt und dachte, dass so die Pixel quasi aus der Originalebene entfernt wurden. Kann sich dann bei der Auswahl des nächsten Bereiches noch etwas mit der vorherigen Auswahl überlappen? Eigentlich nicht, oder?, da ja ausgeschnitten
2. Histogrammfenster: Ebene ausgewählt; Ebenenminiatur mit Strg angeklickt, Anzeige: Quelle = Ausgewählte Ebene; Pixelzahl --> diese habe ich von allen Ebenen addiert.
Allerdings ergibt sich die gleiche Pixelzahl, wenn ich als Quelle das gesamte Bild auswähle.

Was mich zudem irritiert ist die Tatsache, dass das Histogramm der Originaldatei einen Pixelwert von 113270 anzeigt, obwohl die Dateigröße unter Bild>Bildgröße 7229984 Pixel angibt. Wie kann es zu diesem Unterschied kommen?

Ich habe den Test mit drei Bildern durchgeführt:
1. Summe der Ebenen: 120225; Histogrammangabe Quelle gesamtes Bild: 112917
2. Summe der Ebenen: 111639; Histogrammangabe Quelle gesamtes Bild: 113270
3. Summe der Ebenen: 124804; Histogrammangabe Quelle gesamtes Bild: 113270
Bei Bild 1 und 3 ist demnach die Summe der Ebenen höher als im Histogramm des Ursprungsbildes angegeben.
Ich bin völlig ratlos!
Gibt es eine Möglichkeit zu prüfen, ob ich mit dem Zauberstab überlappende Bereiche ausgewählt habe?

heikehk
10.01.14, 14:40
Hast Du denn eine weiche Kante?
Kannst du mit dem Lasso arbeiten?
Ich verstehe den Zusammenhang noch immer nicht. Könntest du uns etwas genauer erklären, was genau du machst? Hast du mal ein Testbild?
Ich denke, dass das Problem wahrscheinlich das von Stephan beschriebene ist, dass der Zauberstab eventuell ungenau auswählt.
Aber ich habe momentan noch immer keine Idee, was Du genau machst :nixweiss:
Kannst du ein Bild zeigen und genau erklären, was Dein Sinn und Zweck ist. Vielleicht fällt uns dann ja noch eine andere bessere Lösung ein. Ich hab bisher noch nie Pixelanzahlen herausgelesen, weil ich die sonst nur schiebe, aber kreative Ideen finde ich trotzdem oft, wenn ich ide Aufgabe verstanden habe.
Gruß
Heike

stefu
10.01.14, 14:54
Genaugenommen gibt es da auch mehrere Möglichkeiten.

Die Unterschiede sind jetzt nicht zu gewaltig, so dass ich davon ausgehe, dass es sich hier einfach um Ungenauigkeiten der Auswahl handelt, welche ja vom Zauberstab selbst gehandhabt wird.

Wenn Du nun ein Bild nimmst und eine sehr genaue Auswahl fertigst (Rechteckauswahlwerkzeug) und wie ich schon weiter oben beschrieb vorgehst, dann stimmen die Ergebnisse exakt mit dem Original überein.

Handelt es sich hier rein um das "theoretische" verstehen wollen oder ergibt hier ein konkretes Problem in der Praxis.

Bei letzterem könnten wir nach Lösungen suchen.
Bei ersterem müsste einiges an Grundwissen aufgebaut werden...

Wenn Du die Unterschiede sichtbar machen willst, dann markiere die Ebenen mit den jeweiligen Ausschnitten, die durch die Auswahl entstanden und Drücke Strg + E; damit werden alle markierten Ebenen auf einer Ebenen zusammengefasst.
Nun setzt Du diese Ebene in den Modus Differenz. Alles, was schwarz ist, ist gleich. Alles, was nicht schwarz ist, zeigt Unterschiede auf. Wahrscheinlich wirst Du vergrößern müssen, um die Unterschiede zu erkennen. Dann siehst Du die Quellen, die wahrscheinlich am Randbereich der Auswahl auftreten werden.

Grüßle
Stephan

stefu
10.01.14, 15:07
Ein einfacher Ansatz zum Verstehen wäre z. B.:

Die Auswahl erfolgt Pixelbasiert.

Nun wird z. B. der Farbbereich, der Ausgewählt werden soll lediglich 1/2 des Randpixels betreffen. Das ist kein Problem an sich - doch werden dann die Subpixel aufgefüllt, dass hier wieder ein voller Pixel entsteht.

Das ganze geschieht dann bei der Auswahl, wo ja der Randpixel 1/2 beträgt noch mal, denn auch dieser wird dann wiederum aufgefüllt auf einen Pixel.

Das passiert jetzt bei 1000 Pixeln und schwupp nimmt die Bildgröße zu...

78kaza78
10.01.14, 15:20
Also, was ich genau mache:
Ich möchte herausfinden, wie viel Prozent eines Bildes gelb ist und wie viele verschiedene Gelbtöne im Bild vorhanden sind.
Anmerkung zu Farbbezeichnungen:
Ich bin mir bewusst darüber, dass Farbnamen nicht objektiv sind. Um herauszufinden um welche Farbe es sich handelt, verwende ich mehrere RGB Tripletts pro Farbe in Kombination mit einem Matlab Algorithmus der auf einem psychophysikalischen Experiment beruht, bei dem Testpersonen Farben benannt haben. Pro RGB Angabe erhalte ich dann die Wahrscheinlichkeit, mit der Personen diese Farbe als rot, gelb, blau etc bezeichnen. Farbbezeichnung soll also hier nicht das Problem sein.

Um also herauszufinden, wie hoch der Anteil einer Farbe an einem Bild ist, habe ich per Zauberstab mit der Toleranz 22 (die in anderen Forschungsarbeiten zum gleichen Thema empfohlen wird) eine Fläche im Bild ausgewählt, und eine Ebene durch ausschneiden erstellt. Dann habe ich im Originalbild den nächsten Farbton per Zauberstab angewählt, Ebene erstellt usw. Das ist grundsätzlich von der Vorgehensweise nicht verkehrt, oder?

Im übrigen habe ich probiert was Stefan vorgeschlagen hat:
1. Bild in Photoshop öffnen; (Photoshop legt das Bild als Ebene "Hintergrund" an)
2. Auf Ebenenminiatur klicken, Ebene duplizieren (heißt jetzt Hintergrund Kopie)
3. Duplizierte Ebene anwählen; mit Auswahlrechteckwerkzeug einen Teil des Bildes auswählen > Ebene durch ausschneiden; Ebene 1 erstellen
4. Klicke ich jetzt mit Strg jeweils die ausgewählte Ebenen an (wobei ich als Quelle "Ausgeähle Ebene angewählt habe) stehen da folgende Pixelzahlen

Ebene 1: (ausgeschnittener, kleinerer Bildausschnitt:) 152744
Hintergrund Kopie: (Originalbild ohne ausgeschnittenen bildbereich) 82056 (was schon mal gar keinen Sinn macht, da ich nur einen Bereich, ca. 1/3 des Bildes ausgewählt und ausgeschnitten habe; die Pixelzahl dieser Ebene müsste also ca dreimal so groß wie die der Ebene 1 sein)
Hintergrund: (Originalbild) 73444 (was noch weniger Sinn macht, da dies ja das Gesamtbild ist und demnach die größte Pixelanzahl haben müsste
Ich bin völlig ratlos!?!:fragen::fragen:

stefu
10.01.14, 15:50
Das habe ich auch nicht beschrieben ;-)


Du Öffnest ein Bild in Photoshop.
Du nimmst das Auswahlrechteckwerkzeug und wählst einen Teil des Bildes aus.
Du drückst Strg + j und erhälst die Auswahl, als neue Ebene
Du klickst mit der gedrückten Strg-Taste auf das Ebenensymbol (Ebene 1)
Du drückst Strg + Shift + i
Jetzt siehst Du, dass die Auswahl sich invertierte.
Du gehst auf die Hintergrundebene und drückst erneut Strg + j

Nun hast Du das Bild im Original (Hintergrund)
Und zwei Ebenen, die exakt das Ergebnis in der Addition bringen, wie das Originalbild.
Weil hier pixelgenau ausgewählt wird, sind die Werte der Teile, wie auch des Originals identisch.

Dein Vorgehen mit dem Zauberstab ist absolut korrekt.
Diese Werte variieren aufgrund der Kantenglättung (Anti-Alias) mit der Toleranz des Zauberstabs.

Dieser Fehleranteil muss toleriert und deklariert werden.

Lieben Gruß
Stephan

heikehk
10.01.14, 15:53
Kannst du so ein Bild mal zeigen?

78kaza78
10.01.14, 16:02
Stefan, ich habe jetzt nochmal probiert was du vorgeschlagen hast, nämlich Auswahlrechteck, Ebene erstellen; Auswahl umkehren, weitere Ebene erstellen; Pixel addieren und ja, das entspricht der Anzahl die mir im Histogramm angezeigt wir, wenn ich auf das gelbe Dreieck klicke, also Histogramm mit nicht gespeicherten Daten.
Was ich nicht verstehe:
1. Wieso zeigt mir das Histogramm wenn ich auf das Ursprungsbild klicke+Strg die Pixelsumme 120120 und wenn ich auf das Dreieck klicke die Summe 480480, also genau das vierfache?

78kaza78
10.01.14, 16:13
Lieber Stephan (entschuldige das falsche "f" ! ;-) )
wenn ich so vorgehe wie du es beschrieben hast funktioniert die Addition wunderbar.
Wenn ich dich richtig verstanden habe meinst du, dass die unterschiedlichen Gesamtsummen die ich anfangs genannt habe aus der Kantenglättung resultieren. Ich müsste diese Ungenauigkeit also in Kauf nehmen und erläutern, richtig?

stefu
10.01.14, 16:18
Das hat mit dem Cache zu tun.

Hier werden - grob gesagt - die Werte zwischengespeichert; wenn das gelbe Dreieck angeklickt wird, wird das Ergebnis auf die gewählte Quelle aktualisiert.

stefu
10.01.14, 16:18
Ich denke, dass dem so ist - ja.