cara mendeteksi pusat lingkaran buram dengan opencv


10

Saya sudah mendapat gambar berikut:

masukkan deskripsi gambar di sini

Ada lengkungan pada gambar. saya ingin menemukan pusat lingkaran yang berisi kurva.

Saya mencoba membuka dan mengubah lingkaran hough tetapi tidak memiliki hasil.


apakah semua kurva konsentris? Apakah jarak antar variabel?
endolith

ya, mereka konsentris. dan tidak ada spasi yang konstan.
JingKe

Jawaban:


3

Anda harus meningkatkan kontras gambar terlebih dahulu, lalu saring dengan kuat untuk menghilangkan noise. karena lingkarannya 'tebal' (buram), Anda dapat memfilter sedikit tanpa merusak struktur lingkaran.

Saya kemudian akan menerapkan beberapa algoritma deteksi tepi untuk mendapatkan gambar tepi biner yang dapat diproses oleh Circular Hough Transform.

Saya mendapatkan gambar tepi berikut dari gambar Anda: masukkan deskripsi gambar di sini

Menggunakan perintah MATLAB berikut:

 % x is the input grayscale image. First we adaptively improve the contrast over the image
 y= adapthisteq(x);

 % next we use the Canny edge detector with a strong Gaussian lowpass filter
 ee=edge(y, 'canny', [], 5);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.