Saya ingin dapat menemukan titik dalam gambar yang merupakan pusat dari gradien radial seperti yang ditunjukkan pada gambar kiri di bawah ini. Ada ide tentang bagaimana saya bisa menggunakan transformasi Hough atau metode visi komputer lainnya?
Terima kasih
contoh gambar pencarian:
image-processing
computer-vision
gradient
waspinator
sumber
sumber
Jawaban:
Saya sedang bekerja di OpenV dan mencoba mencari puncak gradien yang dihasilkan oleh transformasi jarak. Saya menyadari bahwa menggunakan operasi morfologis (erosi / dilatasi) dalam gambar skala abu-abu sangat berguna dalam kasus ini. Jika Anda mengikis dilatasi gambar skala abu-abu, piksel apa pun akan mengambil nilai tetangga yang lebih rendah / tertinggi. Karena itu Anda dapat menemukan puncak intensitas dalam gradien dengan mengurangi gambar skala abu-abu dari gambar yang dilatasi / terkikis yang sama. Inilah hasil saya:
Dan cara untuk melakukannya di OpenCV / Cpp:
sumber
Inilah yang saya miliki sejauh ini. Cara saya mengisi ruang Hough saya jauh dari optimal. Saya cukup yakin ada beberapa vektorisasi yang bisa saya lakukan untuk membuatnya lebih cepat. Saya menggunakan Matlab R2011a. Gambar asli
Saran dihargai, Terima kasih.
Saya memodifikasi fungsi garis gambar yang saya temukan di matlab pusat untuk peningkatan piksel dengan nilai alih-alih mengatur piksel ke nilai
sumber
Jalankan Histogram Gradien Berorientasi pada tambalan gambar - puncak pada masing-masing histogram akan memberi Anda arah dominan tambalan itu (seperti panah yang Anda perlihatkan).
Temukan di mana semua panah berpotongan - jika titik itu berada di dalam objek itu bisa menjadi pusat gradien radial.
sumber