Saya terkejut beberapa bulan yang lalu menemukan bahwa SDK kamera penglihatan mesin saya menggunakan "interpolasi" tetangga terdekat dalam fungsi bayer bawaannya. Ini adalah yang tercepat, tetapi jenis terburuk, memberikan tepi yang sulit, terutama ketika Anda mulai melakukan matematika pada saluran gambar untuk konstanta warna atau kecerahan invarian. Saya menemukan ulasan tentang algoritma ini:
http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf
Langkah selanjutnya adalah interpolasi bilinear dan bikubik yang dapat dihitung dengan cukup cepat karena hanya berjumlah kernel konvolusi. Ini memberikan gigi gergaji berwarna di tepi miring - bilinear lebih dari bicubic.
Dapat dilihat dalam makalah ini, dan dengan data kualitas terukur pada 5 algoritma yang berbeda:
http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf
Inilah sebabnya mereka membuat interpolasi berbasis arah tepi. Namun, ini memperlakukan hijau sebagai "saluran yang lebih penting" (karena ia memiliki resolusi terbaik dan memperhitungkan sebagian besar sensitivitas visual dan resolusi mata kami). Dan kemudian mereka membuat biru dan merah sebagai fungsi dari saluran hijau, dengan cara mempertahankan warna. Ini pada gilirannya membuat konten hijau saluran frekuensi tinggi lebih rentan terhadap kesalahan. Kompleksitas lebih tinggi karena mereka harus mendeteksi apa yang terjadi dan memerlukan beberapa lintasan. Moire dan jagung adalah artefak umum dari jenis interpolasi ini.
Di sini mereka menunjukkan contoh Demosaicing Homogenitas Adaptif dan versi bilinear dengan dan tanpa rona, pelestarian tepi dan pelestarian tambahan:
http://math.auburn.edu/~kilgota/ahd_bayer.pdf
Makalah itu mendukung AHD dan tidak menunjukkan bagian negatif. Pada halaman ini Anda dapat melihat artefak pola yang berbeda dari Demosaicing Homogenitas Adaptif, Pengelompokan Piksel Berpola, dan Gradien Jumlah Variabel (arahkan mouse ke nama-nama):
http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html
Singkatnya ada sejumlah asumsi yang digunakan dalam algoritma ini, dan artefak terjadi ketika asumsi tersebut tidak berlaku:
- Kelancaran per saluran. Jika tetangga terdekat tidak sama, buat transisi menjadi lancar. Artefak: gergaji / ritsleting, kelembutan
- Kesegaran kecerahan dengan tepi terarah (arah bilinear). Artefak: tekstur moire frekuensi tinggi, pinggiran warna
- Konstanta rona. jika di lingkungan rona sama, jadi jika satu saluran berubah yang lain harus mengikuti. Artefak: ritsleting warna di tepi warna
- Keteguhan dapat diprediksi dari sayuran. Artefak: labirin