Saya mencoba mendeteksi persegi panjang dalam gambar. Latar belakang gambar adalah satu warna (sebagian besar waktu). Saya mencoba dua metode untuk mendapatkan gambar biner (1 = latar belakang, 0 = tepi), untuk melakukan Transformasi Hough nanti ...
Sobel atau Canny Filter
Gambar halus A, Buat gambar perbedaan A - gauss, Buat gambar biner dengan ambang batas (Buat Histogram, nampan tertinggi harus menjadi latar belakang ...)
Hasilnya adalah gambar biner dengan tepi. Saya tidak benar-benar sekarang metode mana yang bekerja lebih baik untuk berbagai gambar yang berbeda. Ada ide?
image-processing
Martin Thompson
sumber
sumber
Jawaban:
Saya pernah menulis aplikasi untuk deteksi persegi panjang. Ini menggunakan deteksi tepi Sobel dan transformasi garis Hough.
Alih-alih mencari puncak tunggal dalam gambar Hough (garis), program mencari 4 puncak dengan jarak 90 derajat di antara mereka.
Untuk setiap kolom dalam gambar Hough (sesuai dengan beberapa sudut), tiga kolom lainnya dicari untuk maksimum lokal. Ketika puncak satifactory ditemukan di masing-masing dari empat kolom, persegi panjang telah terdeteksi.
Program ini membangun persegi panjang dan melakukan pemeriksaan tambahan untuk konsistensi warna di dalam dan di luar persegi panjang untuk membedakan positif palsu. Program ini untuk mendeteksi penempatan kertas dalam lembar kertas yang dipindai.
sumber
Anda mungkin menemukan bahwa pendeteksi tepi Laplacian of Gaussian adalah pilihan yang lebih baik. Ini akan memberi Anda kontur tertutup lebih sering daripada detektor tepi Canny. Saya percaya itulah yang Anda inginkan karena langkah Anda selanjutnya adalah menerapkan transformasi Hough.
sumber
Mungkin bermanfaat untuk Anda tetapi sudah terlambat ketika saya mengunjungi situs ini hari ini
sumber
Jika gambar Anda relatif bersih, Anda memiliki persegi panjang yang jelas tanpa banyak istirahat alternatif untuk transformasi Hough adalah membuat kontur dan menguranginya sampai mereka membentuk 4 sisi kontur = persegi panjang Anda.
Ada sampel terbuka untuk melakukan ini
sumber
Tutorial Python untuk menemukan persegi panjang Ditulis dari awal. Menggunakan Canny dan Hough Lines.
sumber