Isolasi bagian yang tidak buram dari gambar yang rusak

10

Saya memiliki gambar yang diambil oleh kamera ponsel dengan fokus pada bagiannya, katakanlah wajah atau apa pun. Saya ingin tahu - kira-kira - di mana area fokus. Misalnya, kotak pembatas di sekitar area fokus. contoh: Asli Setelah Deteksi

Humam Helfawi
sumber

Jawaban:

7

Secara umum, ini adalah masalah segmentasi gambar ( http://en.wikipedia.org/wiki/Image_segmentation ) di mana Anda akan mencoba untuk mengisolasi fokus ke daerah yang tidak fokus pada gambar.

Lensa optik setara dengan filter low pass dan efek filter low pass pada sinyal adalah untuk memperhalusnya dengan membatasi konten frekuensi yang lebih tinggi.

Dalam pemrosesan gambar digital, frekuensi rendah sesuai dengan objek besar (bentuk umum) dan frekuensi tinggi sesuai dengan objek kecil (detail).

Oleh karena itu, untuk mengisolasi wilayah fokus, Anda dapat mencari area yang memiliki standar deviasi yang lebih tinggi dibandingkan dengan area yang kabur yang akan berada pada standar deviasi yang lebih rendah karena operasi perataan lensa yang tidak fokus.

M×N

M×N

Dalam hal gambar dalam posting Anda, histogram cenderung menunjukkan dua mode. Satu sesuai dengan nilai standar deviasi yang relatif tinggi (area fokus) dan satu yang sesuai dengan nilai standar deviasi yang relatif rendah (area kabur).

Anda kemudian dapat memposisikan ambang batas, misalnya hanya di antara dua mode untuk menetapkan kriteria antara wilayah fokus dan tidak fokus Anda dan kemudian pilih semua "tambalan" (atau area jendela MxN) yang standar deviasinya lebih tinggi dari ambang Anda. (Untuk informasi lebih lanjut, lihat: http://en.wikipedia.org/wiki/Thresholding_%28image_processing%29 )

Ini akan mengisolasi bagian gambar yang terfokus untuk Anda.

Semoga ini membantu.

A A
sumber
Saya akan membuat bacaan mendalam untuk jawaban Anda dan kembali dengan umpan balik, Terima kasih banyak
Humam Helfawi
Terima kasih banyak, jawaban yang bagus dan terperinci, saya akan membagikan implementasinya jika saya mendapatkan hasil yang baik menggunakan opencv, terima kasih lagi
Humam Helfawi
Ngomong-ngomong, perwakilan abu-abu dari gambar sudah cukup atau saya perlu memproses setiap saluran?
Humam Helfawi
Senang Anda menemukannya bermanfaat. Bekerja dalam skala abu-abu akan bekerja dengan baik untuk diskriminasi antara area yang kabur dan fokus, tetapi termasuk informasi warna tambahan dapat membantu Anda untuk meresepkan area yang lebih kompleks (misalnya, melacak area wajah dalam potret atau mengisolasi hanya bunga di gambar di posting Anda).
A_A
Pertanyaan itu diedit kembali ke bentuk aslinya setelah diskusi di: meta.dsp.stackexchange.com/questions/1337/… @ luas-akademisi Harap tambahkan komentar Anda sebagai tanggapan terpisah. Bagian utama telah disimpan di: pastebin.com/kjCC1wM6
A_A
5

Berikut ini adalah pendekatan yang lebih mudah, yang tidak melibatkan analisis sliding-window.

  • Konversikan gambar Anda menjadi skala abu-abu (ini tidak wajib, tetapi saya akan menganggap bahwa Anda hanya memiliki satu saluran demi kejelasan)

  • Hitung gradien di kedua arah

  • Hitung besarnya (atau hanya kuadrat gradien)

  • Jumlahkan kedua gambar gradien di kedua arah

Seperti yang sudah dikatakan, bagian yang difokuskan dari gambar akan memiliki frekuensi yang lebih tinggi daripada area yang tidak fokus. Dari penjumlahan Anda akan berakhir dengan dua proyeksi, di mana ada banyak variasi (nilai yang lebih tinggi) di bagian di mana objek yang difokuskan ditempatkan di sepanjang arah ini. Anda dapat melakukan yang berikut ini:

  • Tentukan titik awal dan akhir dari nilai-nilai yang lebih tinggi ini. Anda dapat menggunakan ambang batas sederhana (misalnya 0,7 * nilai maksimum_) atau menghaluskan profil, ambil turunan kedua dan periksa nilai tertinggi di sana.

  • Posisi Mulai / Berhenti dari langkah sebelumnya memberi Anda posisi piksel di sepanjang kedua arah tempat menempatkan persegi panjang penunjuk area Anda.

M529
sumber