Konversi gambar 32 bit ke gambar 8 bit di QGIS

10

Saya ingin mengonversi gambar saya dari 32 bit menjadi 8 bit. Saya menggunakan otb untuk menghitung tekstur dan output raster pada 8 bit, saya akan menggunakan informasi ini sebagai tumpukan lapisan untuk gambar multispektral saya di 32 bit!

Bagaimana cara mengubah dari 8 bit menjadi 32 bit, jika memungkinkan di QGIS?

pengguna21484
sumber

Jawaban:

10

Pada awal pertanyaan Anda, Anda bertanya tentang beralih dari 32 bit ke 8 bit dan pada akhirnya Anda bertanya tentang sebaliknya, jadi ini akan menjadi jawaban umum.

Sebagian besar fungsi GDAL memungkinkan Anda menentukan kedalaman piksel dengan tag baris perintah -ot(misalnya, lihat dokumentasi di gdal_translate atau gdal_rasterize ). Switch -ot dapat mengambil nilai Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64.

Di QGIS, jika Anda ingin memaksakan output dari fungsi GDAL untuk memberi Anda kedalaman piksel spesifik daripada default, kemudian edit baris perintah untuk menyertakan -ot switch dengan kedalaman piksel apa pun yang Anda inginkan. Misalnya pergi Raster-> Konversi-> Terjemahkan. Di bagian bawah kotak dialog (setidaknya dalam versi 1.9) Anda akan melihat perintah commandline yang dibuat untuk Anda. Klik tombol di sebelahnya dengan ikon pensil kecil untuk memungkinkan Anda mengedit commandline dan menambahkan -ot Anda.

Contoh menggunakan gdal_translate dalam QGIS, mengkonversi dari floating point 32 bit ke 16 bit integer unsigned: masukkan deskripsi gambar di sini

MappaGnosis
sumber
3
Saya akan menambahkan bahwa -otsaklar tidak mengubah nilai pada transformasi. Untuk melakukan itu, penggunaan -scaleatau -scale_1, -scale_2, ... per Band.
Logan Byers
"Pixel depth" adalah istilah yang tampaknya diciptakan ESRI entah dari mana.
jpmc26
1
Kedalaman piksel sebenarnya adalah istilah yang banyak digunakan bersama dengan file gambar raster dan jauh dari eksklusif ke ESRI atau bahkan GIS.
MappaGnosis