Filter yang dapat digunakan untuk sinyal digital seperti audio, video atau pemrosesan gambar dapat didefinisikan menggunakan matriks ("kernel") yang membebani area sekitarnya (ini adalah deskripsi yang saya baca dalam catatan kuliah dari orang lain).
Kernel
mendefinisikan filter erode .
Bisakah Anda memberi tahu saya bagaimana kernel ini diterapkan pada misalnya gambar (dan karena itu bidang piksel 2D)? Terima kasih sebelumnya!
filters
image-processing
muffel
sumber
sumber
Jawaban:
Filter erode Anda salah. Tautan yang Anda berikan mengatakan seharusnya menemukan maksimum piksel yang berdekatan, dan array Anda tidak melakukan ini. Sebaliknya, ini memberikan jumlah piksel yang berdekatan. Jika Anda menormalkan hasilnya (karena semua penambahan ini akan meningkatkan kecerahan), maka Anda akan menemukan bahwa filter Anda rata-rata merata piksel yang berdekatan.
Apa yang biasanya Anda lakukan adalah mengambil gambar Anda dan menggabungkan blok 3x3 (atau seberapa besar filternya) dengan filter Anda. Anda juga dapat melakukan ini secara paralel, untuk kecepatan.
sumber
Dalam pemrosesan gambar, untuk menerapkan filter seperti itu, Anda akan mengulangi semua piksel dari gambar input dan di setiap langkah letakkan filter mask di atas gambar sehingga pusatnya terletak di piksel Anda saat ini. Anda kemudian "mengevaluasi" piksel dalam lingkungan yang ditutupi oleh topeng dalam beberapa cara dan menulis hasilnya kembali ke piksel saat ini.
Untuk konvolusi normal, Anda mengalikan setiap elemen filter dengan nilai piksel yang sesuai, menjumlahkan hasilnya dan menulis jumlahnya ke piksel saat ini.
Erosi adalah operasi morfologis, dan Anda akan menerapkannya (pada gambar biner) dengan memeriksa apakah semua "1" nilai topeng Anda terletak di atas "1" piksel dalam gambar. Jika demikian, Anda menulis "1" ke piksel saat ini (jika tidak, "0").
Dalam kedua kasus tersebut, pastikan untuk selalu membaca piksel input Anda dari versi gambar yang dimodifikasi (daripada memodifikasi gambar di tempat).
sumber