Kompozit Rasterdeki Hücre Değeri Ne Anlama Geliyor?


9

QGIS'te GRASS r.composite aracını kullanarak kompozit bir raster oluşturduğumda ve sonra belirli bir hücreye tıkladığımda, bu değerleri mavi / yeşil / kırmızı / kompozit rasterlerde alıyorum: mavi = 124 yeşil = 124 kırmızı = 172 kompozit = 15861.

Mavi / yeşil / kırmızının verilen bantların parlaklık değerlerini temsil ettiğini biliyorum. 15861 neyi temsil ediyor ve nasıl hesaplanıyor?


1
Alfa kompoziti temsil eden bir tam sayı değeri olabilir: docstore.mik.ua/orelly/java-ent/jfc/ch04_07.htm
WhiteboxDev

1
Hangi QGIS ve Grass sürümünü kullanıyorsunuz? Ayrıca, lütfen ayarlarınızı işlemi etkilediğinden (ve dolayısıyla r.composite hesaplamasından) belirtin. İlginç bir şekilde, sürekli olarak sadece RGB alıyorum ve 2.4'te kompozit bant yok.
MappaGnosis

GRASS 6.4.3 GUI ile Windows 7'de QGIS 2.2 kullanıyorum. Ayarlar için, kırmızı, yeşil ve mavi değerlerinin sayısı için 32 kullanıyorum. Kullandığım eğitim FOSS4G Akademi Uzaktan Algılama kursudur. Öğretici belge foss4geo.files.wordpress.com/2014/08/module-3-lab2.pdf adresindedir .
Jim O'Leary

2
Lütfen r.composite kullanım kılavuzunu okuyun . Her bileşen için (varsayılan 32) "varsayılan" yoğunluk düzeylerini kullanırsanız, "giriş" RGB ile karşılaştırıldığında biraz farklı RGB değerleri elde etmelisiniz. Sen kullanmak isteyebilir r.what ile -rparametrenin ( Output color values as RRR:GGG:BBBbir hücrenin RGB kombinasyonunu sorgulamak için). Ayrıca r.what.color'a bakmak için . [OP'nin kullandığı sürüm olduğu için GRASS6'ya bağlantılar].
Nikos Alexandris

Yanıtlar:


1

İkili bayt (sekiz basamaklı) olarak 124 sayısı 01111100'dür. Üç baytlık bir RGB üçlüsünü temsil etmek için üç kez sekiz veya 24'lük bir bit gerekir. Varsayılan olarak, r.compositeher banttaki en az anlamlı bitleri atarak bunu yalnızca 15 bite düşürür. Böylece, 15 olan 01111100 ila 01111'i keser (Eşdeğer olarak 124'ü 8'e böler ve geri kalanını yok sayar.) Görünüşe göre bu üç beş bitlik sonuçlar 15 bitlik bir sayı oluşturmak için B, G, R sırasıyla birleştirilir. (renk tablosunu yönetilebilir bir boyutta tutacak kadar küçük olan 0 ile 2 ^ 15-1 = 32767 arasındaki değerleri temsil eder). Bu nedenle, bu değerler, her biri orijinal sekiz yerine sadece beş bit hassasiyete sahip üç görüntü bandını temsil eder.

Soru örneğinde , hesaplamalar şu şekilde devam eder:

  1. Mavi = 124, 124/8 = 15'e dönüştürülür (artı ihmal edilen 4 kalanı). İkili dosyada bu 01111'dir.

  2. Yeşil = 124, 124/8 = 15'e dönüştürülür (artı ihmal edilen 4 kalanı). İkili dosyada bu 01111'dir.

  3. Kırmızı = 172, 172/8 = 21'e dönüştürülür (artı ihmal edilen 4 kalanı). İkilide bu 10101'dir.

  4. Rakamlar 01111 01111 10101 olarak birleştirilir. Bu 15 haneli ikili sayı 15861 = (15 * 32 + 15) * 32 + 21 değerini temsil eder.

r.composite bundan daha fazla işlem yapabilir ve sağladığınız seçeneklere bağlı olarak bunu biraz farklı yapabilir, ancak bu işlemler bir baytın beş bit değerine dönüştürülebileceği temel yolu gösterir.

Art arda bölümleri kullanarak prosedürü yaklaşık 32 oranında tersine çevirebilirsiniz :

  1. 15861/32 = 495 artı 21 kalanı. (8 ile çarpıldığında, 21'in geri kalanı 168'i verir ve kırmızı bant için orijinal 172'den biraz daha azdır.)

  2. 495/32 = 15 artı 15 kalanı. (8 ile çarpıldığında, bu 15 kalanı 120 verir, bu da yeşil bant için orijinal 124'ten biraz daha azdır.)

  3. 8 ile çarpıldığında 120'yi veren 15 ile kaldık, bu da mavi bant için orijinal 124'ten biraz daha az.

Referans

r.compositehttps://grass.osgeo.org/grass72/manuals/r.composite.html adresindeki manuel sayfa .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.