2026-09-12 · Dikemas kini 2026-09-13

Peta Kedalaman 16-Bit: Atasi Banding dan Semak Fail PNG Anda

Betulkan peta kedalaman yang bertangga atau terbalik dengan ujian PNG 8-bit vs 16-bit yang boleh diulang, skrip pemeriksaan fail dan senarai semak import Blender.

Peta Kedalaman 16-Bit: Atasi Banding dan Semak Fail PNG Anda

Dikemas kini terakhir: 13 September 2026. Ukuran pengekodan di bawah menggunakan tanjakan sintetik, bukan penanda aras ketepatan kedalaman AI.

Peta kedalaman anda kelihatan licin dalam pelayar, tetapi permukaan yang dianjak membentuk teres. Anda mengeksport “PNG 16-bit”, namun tiada apa-apa yang berubah. Sebelum menjana imej lain atau menambah ketumpatan jejaring, semak di peringkat mana nilai itu menjadi bertangga. Sambungan fail sahaja tidak dapat menjawab soalan itu.

Jawapan pantas: bagaimana mengelakkan banding pada peta kedalaman?

Gunakan PNG skala kelabu 16-bit yang dieksport terus daripada nilai kedalaman titik terapung model, jika aplikasi seterusnya menyokongnya. Elakkan peta itu melalui pratonton 8-bit, tangkapan skrin, JPEG atau pemampat foto. Kemudian sahkan kedalaman sampel, julat dan bilangan nilai berbeza dalam fail sebelum menguji anjakan.

Bekas 16-bit tidak memulihkan ketepatan yang telah hilang. Dalam eksperimen kami yang boleh diulang, tanjakan yang dikodkan terus sebagai 16-bit mengekalkan 4,096 nilai berbeza, manakala tanjakan 8-bit yang disimpan semula sebagai 16-bit hanya mengekalkan 256. Kedua-dua fail 16-bit melaporkan kedalaman sampel yang sama dan julat berangka penuh.

Apa yang boleh dibetulkan, dan apa yang tidak

Aliran kerja ini menangani ketepatan eksport dan kesilapan import yang biasa. Ia tidak menukar kedalaman AI relatif kepada jarak yang diukur, tidak mendedahkan geometri tersembunyi, tidak membetulkan siluet yang salah dan tidak menjamin relief yang sesuai untuk pembuatan. Anggaran kedalaman adegan dan medan ketinggian yang diukir mempunyai tujuan yang berbeza.

Untuk konsep asasnya, baca pengenalan peta kedalaman kami. Untuk eksport sebenar, penjana peta kedalaman menghasilkan PNG skala kelabu 16-bit secara lalai, melabelkan sama ada putih bermaksud dekat atau jauh, dan menawarkan pilihan songsang.

Laluan AI alat itu mengekalkan nilai titik terapung sehingga langkah pengekodan terakhir. Jika alat memberi amaran bahawa ia menggunakan kaedah sandaran berasaskan tepi dan kabur, kaedah itu bermula daripada nilai 8-bit, jadi PNG 16-bitnya mengandungi paling banyak 256 aras.

Patutkah anda memilih kedalaman 8-bit, 16-bit atau titik terapung?

Tugasan seterusnya Pilih ini jika disokong Semak sebelum meneruskan
Topeng pantas atau pratonton kasar PNG skala kelabu 8-bit Sama ada kesan itu boleh menerima langkah nilai yang kelihatan
Anjakan licin daripada kedalaman ternormal PNG skala kelabu 16-bit yang dieksport terus Bahawa sumbernya belum dikurangkan kepada 8-bit
Saluran kerja yang memerlukan nilai titik terapung mentah Format apungan yang didokumenkan aplikasi, selalunya EXR Unit, nilai tidak sah, penormalan dan konvensyen import
Alat yang hanya menerima imej 8-bit Simpan fail induk berketepatan tinggi; eksport salinan 8-bit Sama ada pratonton dan output akhirnya mengekalkan perincian yang cukup

Kedalaman sampel PNG diukur bagi setiap saluran, bukan dengan menjumlahkan semua saluran. PNG RGBA “32-bit” menyimpan 8 bit dalam setiap satu daripada empat salurannya, jadi nilai kelabu yang disalin ke setiap saluran masih hanya mempunyai 256 aras. Spesifikasi PNG W3C membenarkan kedalaman sampel skala kelabu 1, 2, 4, 8 dan 16 bit; PNG tidak mempunyai format sampel titik terapung.

Rajah membandingkan 256 aras kelabu 8-bit dengan 65,536 aras kelabu 16-bit

Rajah ini menerangkan kapasiti pengekodan, bukan ketepatan model atau bilangan nilai yang mesti ada dalam setiap imej. Permukaan yang malar boleh menggunakan satu nilai sahaja dengan sah. Fail yang lebih besar juga bukan bukti anggaran yang lebih baik.

Apakah yang diukur oleh eksperimen 8-bit berbanding 16-bit kami?

Kami mencipta tanjakan mendatar 4,096 × 64 dengan 4,096 nilai yang dijarakkan sama rata dari sifar hingga satu. Kami mengekodnya dengan tiga cara menggunakan NumPy dan Pillow, membuka semula setiap PNG, lalu mengukur pengepala, nilai berbeza, julat dan ralat ternormal maksimum berbanding tanjakan asal.

Laluan pengekodan Kedalaman sampel PNG Nilai berbeza selepas nyahkod Ralat ternormal maksimum Saiz fail (bait)
Tanjakan apungan → 8-bit 8 256 0.001953602 528
Tanjakan apungan → 16-bit 16 4,096 0.000007602 848
Tanjakan apungan → 8-bit → 16-bit 16 256 0.001953602 819

Laluan ketiga mendarab setiap integer 8-bit dengan 257. Ini memetakan sifar kepada sifar dan 255 kepada 65,535, jadi julatnya kelihatan betul. Namun, ia tetap tidak dapat mencipta semula nilai perantaraan yang hilang dalam penukaran pertama. Inilah sebabnya menyemak label “16-bit” atau piksel paling terang sahaja terlepas satu mod kegagalan yang penting.

Carta bar nilai berbeza yang diukur: 256 untuk 8-bit, 4,096 untuk 16-bit terus, 256 untuk 8-bit dalam 16-bit

Fail yang sangat kecil ini mengandungi baris berulang dan mudah dimampatkan. Saiz baitnya bukan ramalan untuk foto. Eksperimen ini mengasingkan pengkuantuman; ia tidak membandingkan model kedalaman, tidak menguji render Blender dan tidak mengukur kualiti ukiran fizikal. Ilustrasi WebP di halaman ini ialah grafik penerangan, bukan peta ketepatan untuk dimuat turun.

Untuk menghasilkan semula tiga fail itu, pasang NumPy dan Pillow dalam persekitaran Python dan jalankan:

import numpy as np
from PIL import Image

ramp = np.tile(np.linspace(0, 1, 4096), (64, 1))
a8 = np.rint(ramp * 255).astype(np.uint8)
a16 = np.rint(ramp * 65535).astype(np.uint16)
wrapped = a8.astype(np.uint16) * 257
for name, values in [("ramp-8", a8), ("ramp-16", a16),
                     ("ramp-8-in-16", wrapped)]:
    Image.fromarray(values).save(name + ".png")

Bagaimana memeriksa PNG yang anda muat turun?

Jalankan skrip ini pada fail muat turun asal, sebelum aplikasi lain menyimpannya semula. Ia menggunakan pakej Python yang sama seperti eksperimen dan menjangkakan PNG satu saluran. Ia sengaja berhenti apabila menerima pratonton RGB, dan tidak menukar pratonton itu secara senyap menjadi data kedalaman yang kelihatan sah.

from pathlib import Path
import numpy as np
from PIL import Image

path = Path("depth.png")
raw = path.read_bytes()
assert raw[:8] == b"\x89PNG\r\n\x1a\n"
assert raw[12:16] == b"IHDR"
print("PNG sample depth:", raw[24])
print("PNG color type:", raw[25])  # 0 = grayscale
values = np.asarray(Image.open(path))
assert values.ndim == 2, "Inspect the grayscale export, not an RGB preview"
print("Range:", int(values.min()), int(values.max()))
print("Distinct values:", np.unique(values).size)
  • Pastikan ia fail skala kelabu, bukan pratonton berwarna.
  • Jangka kedalaman sampel 16 jika anda meminta eksport 16-bit.
  • Semak sama ada julat berangka sesuai dengan saluran kerja anda.
  • Nilai bilangan nilai berbeza mengikut kandungan; tiada ambang universal.
  • Periksa cerun yang licin, tempat dataran paling mudah dikesan.
  • Ulang semakan selepas sebarang penukaran yang boleh mengurangkan ketepatan.

Imej yang kelihatan terperinci tetapi hanya mempunyai 256 nilai wajar disiasat, tetapi itu petunjuk, bukan keputusan muktamad. Topeng yang sengaja rata mungkin memerlukan lebih sedikit nilai. Sebaliknya, interpolasi boleh mencipta beribu-ribu nilai daripada sumber 8-bit tanpa memulihkan ramalan asal. Pemeriksaan fail tidak dapat membuktikan keseluruhan sejarah pemprosesan.

Pratonton yang hampir hitam juga perlu ditafsir. Kedalaman mentah yang disimpan dalam julat berangka yang sempit mungkin sah untuk perisian yang akan membacanya. Normalkan salinan hanya jika alat seterusnya menjangkakan kedalaman ternormal; simpan fail asal dan sebarang metadata skala. Untuk semakan dimensi dan format asas, panduan memeriksa imej kami menerangkan apa yang boleh dan tidak boleh diberitahu oleh sifat fail biasa.

Mengapa fail yang baik masih kelihatan salah dalam Blender?

Anggap peta itu sebagai data berangka. Dalam nod Image Texture, tetapkan ruang warna kepada Non-Color supaya tiada transformasi paparan digunakan. Sambungkan imej kepada input ketinggian atau anjakan yang sesuai, semak kaedah anjakan bahan dan pastikan jejaring mempunyai geometri yang cukup untuk anjakan sebenar.

Dokumentasi anjakan Blender membezakan bump mapping, yang hanya mengubah pelorekan, daripada anjakan sebenar, yang menggerakkan permukaan dan oleh itu memerlukan geometri yang dipecah halus. Bump tidak dapat mengubah siluet. Kedudukan menu berbeza mengikut versi, jadi ikut dokumentasi yang sepadan dengan pemasangan anda.

Diagnosis tiga langkah: bandingkan anggaran sumber, semak PNG yang dieksport, kemudian tetapan import

Simptom Siasat dahulu Ujian berguna seterusnya
Teres sekata pada cerun yang landai Pengkuantuman atau penukaran perantaraan 8-bit Bandingkan fail muat turun asal dengan fail yang diimport
Subjek latar depan menjadi tenggelam Konvensyen dekat/jauh atau tanda anjakan Songsangkan sekali dan bandingkan dengan titik latar depan yang diketahui
Siluet berblok walaupun peta licin Geometri tidak mencukupi atau mod anjakan salah Uji lebih banyak geometri pada kawasan jejaring yang kecil
Kaca, rambut atau pantulan membentuk rupa pelik Tafsiran model terhadap adegan Bandingkan anggaran dengan foto asal
Peta hampir hitam dalam pemapar Julat berangka atau pengendalian paparan Periksa nilai minimum dan maksimum mentah sebelum melaras aras

Kekalkan skala anjakan yang sederhana semasa menguji. Sahkan Midlevel, pemetaan UV, pemangkasan dan nisbah aspek sebelum menambah perincian. Mengubah semua tetapan serentak menyukarkan anda mengenal pasti langkah yang menyebabkan ralat.

Senarai semak yang boleh dipercayai dari eksport hingga import

Sebelum anda mengeksport:

  1. Simpan foto sumber bersama muat turun kedalaman asal.
  2. Pilih imej dengan pemisahan latar depan dan belakang yang jelas.
  3. Periksa sempadan objek sebelum memilih format.
  4. Eksport PNG skala kelabu 16-bit secara terus.
  5. Catat sama ada piksel terang bermaksud dekat atau jauh.

Selepas anda memuat turun:

  1. Semak pengepala, julat dan nilai berbeza pada fail yang disimpan.
  2. Import sebagai data dan sahkan arah dengan titik yang diketahui.
  3. Uji kawasan kecil dengan geometri sesuai sebelum render penuh.
  4. Simpan fail induk berketepatan tinggi sebelum sebarang penukaran.
  5. Simpan tetapan yang berkesan untuk perbandingan eksport seterusnya.

Jangan hantar fail induk kedalaman melalui aliran kerja pemampatan imej yang biasa. Imej paparan yang lebih kecil dan medan berangka yang boleh dipercayai mempunyai keperluan yang berbeza. Begitu juga, penaik skala AI generik boleh mereka tekstur yang menjadi geometri tidak diingini apabila ditafsir sebagai ketinggian.

Jika destinasinya ialah aplikasi relief atau ukiran, sahkan pengendalian sampel yang didokumenkan dan arah skala kelabunya secara berasingan. Artikel ini tidak menguji output mesin. Kedalaman relatif kamera sahaja tidak menentukan ketebalan relief, unit fizikal atau tetapan pemprosesan.

Soalan Lazim

Adakah kedalaman 16-bit menjadikan anggaran AI lebih tepat?

Tidak; ia boleh mengekalkan nilai output yang lebih halus, tetapi tidak membetulkan kesilapan model dalam mentafsir adegan.

Bolehkah menukar PNG 8-bit kepada 16-bit menghapuskan banding?

Menukar bekas sahaja tidak dapat memulihkan nilai yang hilang; pelicinan boleh melembutkan langkah tetapi mengubah medan kedalaman.

Mengapa PNG 16-bit hanya mengandungi 256 nilai berbeza?

Ia mungkin telah melalui peringkat 8-bit, walaupun imej yang ringkas memang boleh mengandungi nilai sesedikit itu.

Adakah putih sentiasa bermaksud dekat dalam peta kedalaman?

Tidak; konvensyen berbeza-beza, jadi baca label dekat/jauh pada alat eksport dan sahkannya dengan titik latar depan yang diketahui.

Bolehkah saya menggunakan JPEG sebagai peta anjakan?

Perender mungkin menerimanya, tetapi pengekodan imej yang lossy menjadikannya fail induk yang lemah untuk mengekalkan nilai kedalaman yang tepat.

Adakah PNG RGBA 32-bit lebih tepat daripada skala kelabu 16-bit?

Tidak bagi peta kedalaman skala kelabu; RGBA “32-bit” bermaksud empat saluran 8-bit, jadi setiap nilai kelabu masih mempunyai 256 aras melainkan alat sengaja membungkus kedalaman merentasi beberapa saluran.

Mengapa pratonton pelayar kelihatan sama bagi kedua-dua fail?

Penukaran paparan boleh menyembunyikan ketepatan berangka tambahan, jadi periksa data asal dan uji dalam aplikasi destinasi.

Bolehkah peta kedalaman ini memberikan ukuran dunia sebenar yang tepat?

Tidak; anggaran relatif yang ternormal tidak menentukan jarak fizikal atau memulihkan geometri yang tidak kelihatan.

Gunakan alat percuma kami semasa mengikuti panduan ini.