Saya ingin menemukan garis antara warna biru dan warna abu-abu pada gambar berikut:
Lebih tepatnya, titik akhir dari garis itu.
Apakah Hough mengubah pilihan? Jika ya bagaimana saya mengatur gambar sebelum menggunakan Hough?
Cara apa pun untuk menyelesaikan ini akan sangat membantu.
Jawaban:
Secara umum, Anda menginginkan detektor tepi, seperti detektor tepi Canny, untuk masalah seperti ini. Transformasi Hough berguna untuk mengekstraksi garis daripada tepi.
Namun, dalam kasus khusus ini, Anda lebih baik melakukan sesuatu seperti:
karena itu gambar yang sangat sederhana.
sumber
Untuk gambar ini, kernel konvolusi sederhana seperti berikut ini akan menemukan tepian dengan baik:
[-1 2 - 1]
Ini menghasilkan piksel tepi tunggal pada setiap titik tepi. Tanpa ribut, tidak ada muss. Canny terlalu terlibat untuk masalah ini. Jika Anda ingin menemukan titik tepi untuk garis di sudut mana pun, maka Anda dapat menggunakan Laplacian, Laplacian of Gaussian (LoG), atau Difference of Gaussian (DoG) sederhana. Sobel dan Prewitt juga sederhana tetapi tidak sesuai karena mereka menghasilkan garis "ketebalan ganda".
Ada implementasi cepat Hough yang dijelaskan di sini: http://www.ic.uff.br/~laffernandes/projects/kht/index.html
Ada juga algoritma "parameterless Hough" yang sangat cepat, tetapi agak sulit untuk diimplementasikan dan didebug.
sumber