Was bedeutet der Zellenwert in einem zusammengesetzten Raster?


9

Wenn ich in QGIS mit dem Werkzeug GRASS r.composite ein zusammengesetztes Raster erstelle und dann auf eine bestimmte Zelle klicke, werden diese Werte in den blau / grün / rot / zusammengesetzten Rastern angezeigt: blau = 124 grün = 124 rot = 172 zusammengesetzt = 15861.

Ich weiß, dass Blau / Grün / Rot die Helligkeitswerte der angegebenen Bänder darstellen. Was repräsentiert der 15861 und wie wird er berechnet?


1
Es ist wahrscheinlich ein ganzzahliger Wert, der das Alpha-Komposit darstellt: docstore.mik.ua/orelly/java-ent/jfc/ch04_07.htm
WhiteboxDev

1
Welche Version von QGIS und Grass verwenden Sie? Bitte geben Sie auch Ihre Einstellungen an, da sie sich auf den Betrieb auswirken (und daher die Berechnung von r.composite). Interessanterweise bekomme ich in 2.4 durchweg nur RGB und kein Composite-Band.
MappaGnosis

Ich verwende QGIS 2.2 unter Windows 7 mit der grafischen Benutzeroberfläche von GRASS 6.4.3. Für die Einstellungen verwende ich 32 für die Anzahl der Werte für Rot, Grün und Blau. Das Tutorial, das ich verwende, ist der FOSS4G Academy-Kurs über Fernerkundung. Das Tutorial-Dokument befindet sich unter foss4geo.files.wordpress.com/2014/08/module-3-lab2.pdf .
Jim O'Leary

2
Bitte lesen Sie das Handbuch für r.composite . Wenn Sie die "Standard" -Intensitätsstufen für jede Komponente verwenden (dh 32), sollten Sie geringfügig andere RGB-Werte als die "Eingabe" -RGB erhalten. Möglicherweise möchten Sie r.what mit dem -rParameter ( Output color values as RRR:GGG:BBB) verwenden, um die RGB-Kombination einer Zelle abzufragen. Auch auf r.what.color zu schauen . [Links zu GRASS6, da dies die vom OP verwendete Version ist].
Nikos Alexandris

Antworten:


1

Die Zahl 124 als binäres Byte (acht Ziffern) ist 01111100. Um ein RGB-Tripel von drei Bytes darzustellen, wären dreimal acht oder 24 solcher Bits erforderlich. Standardmäßig r.compositewird dies auf nur 15 Bit reduziert, indem die niedrigstwertigen Bits in jedem Band verworfen werden. Somit werden 01111100 auf 01111 gekürzt, was 15 ist. (Entsprechend teilt es 124 durch 8 und ignoriert den Rest.) Anscheinend werden diese drei Fünf-Bit-Ergebnisse in der Reihenfolge B, G, R verkettet, um eine 15-Bit-Zahl zu bilden (repräsentiert Werte zwischen 0 und 2 ^ 15-1 = 32767, was klein genug ist, um die Farbtabelle auf einer überschaubaren Größe zu halten). Diese Werte repräsentieren daher drei Bildbänder mit jeweils nur fünf Genauigkeitsbits anstelle der ursprünglichen acht.

Im Beispiel der Frage laufen die Berechnungen folgendermaßen ab:

  1. Blau = 124 wird in 124/8 = 15 umgewandelt (plus einen vernachlässigten Rest von 4). In der Binärdatei ist dies 01111.

  2. Grün = 124 wird in 124/8 = 15 umgewandelt (plus einen vernachlässigten Rest von 4). In der Binärdatei ist dies 01111.

  3. Rot = 172 wird in 172/8 = 21 umgewandelt (plus einen vernachlässigten Rest von 4). In der Binärdatei ist dies 10101.

  4. Die Ziffern werden zu 01111 01111 10101 verkettet. Diese 15-stellige Binärzahl repräsentiert den Wert 15861 = (15 * 32 + 15) * 32 + 21.

r.composite Je nach den von Ihnen bereitgestellten Optionen wird möglicherweise mehr verarbeitet, und dies kann je nach den von Ihnen angegebenen Optionen geringfügig anders sein. Diese Vorgänge zeigen jedoch die grundlegende Art und Weise, wie ein Byte in einen Fünf-Bit-Wert konvertiert werden kann.

Sie können den Vorgang mit aufeinanderfolgenden Unterteilungen durch 32 ungefähr umkehren :

  1. 15861/32 = 495 plus ein Rest von 21. (Multipliziert mit 8 ergibt dieser Rest von 21 168, was nur ein wenig weniger ist als das ursprüngliche 172 für das rote Band.)

  2. 495/32 = 15 plus ein Rest von 15. (Multipliziert mit 8 ergibt dieser Rest von 15 120, was nur ein wenig weniger ist als die ursprünglichen 124 für das grüne Band.)

  3. Wir haben noch 15 übrig, was multipliziert mit 8 120 ergibt, was nur ein bisschen weniger ist als die ursprünglichen 124 für das blaue Band.

Referenz

r.compositeHandbuchseite unter https://grass.osgeo.org/grass72/manuals/r.composite.html .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.