Saya punya gambar
Apakah ada cara untuk menghilangkan bercak putih terang? Tolong bantu, terima kasih
Edit:
Setelah beroperasi dengan gaussian dan kemudian menampilkan menggunakan imagesc, dapatkan output berikut yang dengan jelas menunjukkan bintik-bintik merah terang.
Saluran Merah:
Jalur Hijau:
Saluran biru:
Edit 2:
Deteksi cacat menggunakan filter Gabor
Histogramnya:
Bagaimana cara menghitung ambang yang sesuai secara adaptif.?
image-processing
matlab
vini
sumber
sumber
Jawaban:
Mari kita asumsikan bagian silau adalah satu-satunya area jenuh dalam gambar. Deteksi dapat dilakukan dengan menetapkan intensitas (kode dalam Mathematica):
Maka kita hanya perlu mengganti bagian gambar di sekitar topeng saturasi (memperbesar topeng dilakukan oleh fungsi morfologis
Dilation
). Mewarisi menggunakan sintesis tekstur (menggunakan fungsiInpaint
) tampaknya bekerja dengan baik dalam contoh ini, meskipun saya tidak bisa mengujinya sebagai input untuk algoritma deteksi cacat Anda:sumber
Ini mungkin sedikit jawaban yang simplistis, tetapi bisakah Anda mengesampingkan saja? misalnya:
menghasilkan:
Jelas akan lebih baik untuk memilih ambang batas secara adaptif. Misalnya Anda bisa melihat histogram gambar:
dan mencoba untuk memilih ambang batas yang sesuai berdasarkan itu.
sumber
Tanpa informasi penerangan, itu sulit. Namun, jika bentuk objek dalam gambar diketahui, Anda dapat mengatur templat bentuk silau putih (gaussian) dan melakukan jendela geser untuk menemukan kemungkinan deteksi silau (diikuti oleh pencampuran warna dari area yang berdekatan). Persepsi, kami menyimpulkan bentuk 3D dari gambar menggunakan shading. Jika bentuk dari naungan mampu memberikan gradien permukaan, kita bisa melakukan jendela geser dan memeriksa templat silau di setiap lokasi.
Setelah deteksi tepi cerdik: -
Pada dasarnya, tumpang tindih (area tumpang tindih maks) antara gambar # 1 dan # 2 akan menjadi cacat.
sumber
Pendapat saya adalah bahwa ini adalah masalah penglihatan mesin di mana Anda harus mengendalikan pencahayaan dan memiliki ide bagus tentang kecerahan maksimum kecerahan piksel non-silau pada gambar. Deteksi cacat umumnya masalah visi mesin daripada masalah visi komputer.
Apa yang kita lihat sebagai hasil pencahayaan adalah tambahan dari pantulan cahaya specular dan difus (ditambah beberapa pancaran tetapi diabaikan di sini).
Komponen specular adalah silau, pada permukaan mengkilap seperti apel ini, itu jauh lebih dari refleksi difus (> 10x)
Ini berarti bahwa jika Anda mengatur pencahayaan Anda, mendapatkan dan eksposur sebelum ini, pada permukaan difus, Anda dapat yakin bahwa tidak ada yang akan mendekati jenuh. Jadi menggunakan ambang batas tetap sebenarnya adalah solusi yang lebih disukai di sini, selama Anda telah membuktikan dengan data yang cukup bahwa "tidak ada piksel yang tidak mengandung silau" akan berada di atas ambang batas. Intinya, Anda mengatur kondisi pencahayaan, dan parameter kamera sedemikian rupa sehingga klasifikasi piksel menjadi sepele, dalam hal ini dilakukan oleh ambang sederhana, alih-alih fungsi piksel yang dipelajari mesin yang lebih kompleks di sekitarnya.
Saya suka pendekatan "vini", tidak perlu menunjukkan pesawat RGB. Hanya ambang grayscale sederhana yang benar-benar berfungsi di sini.
1 - Anda merancang kondisi pencahayaan, tidak ambient
2- membuat pekerjaan klasifikasi sangat sepele (thresholding)
3 - mengukur fitur
4 - bandingkan dengan toleransi
sumber
Konversikan ke ruang warna lab terlebih dahulu, mapminmax, lalu gunakan saluran luminositas pertama. Itu mengurangi masalah warna. Kemudian gunakan beberapa thresholding di atas 80% pixel paling terang. Periksa dan uji penurunan dalam histogram, ambang batas terbaik adalah di dekat bagian bawah penurunan. Jika tidak ada min lokal di wilayah ini gambar Anda mungkin memiliki refleksi minimal ...... Martin
sumber