Operator Sobel adalah perkiraan turunan dalam dimensi X diikuti oleh operator smoothing sederhana dalam dimensi Y. (Atau turunan dalam dimensi Y dan kemudian dihaluskan dalam X).
Pertimbangkan sinyal satu dimensi . Turunan dari , dapat ditulis sebagai:f(t)f(t)df(t)/dt
limΔ→0f(t+Δ)−f(t−Δ)2Δ
Ini disebut rumus perbedaan terpusat .
Tetapi dengan sinyal diskrit, Delta terkecil yang ΔAnda miliki adalah jarak antar sampel, jadi Anda menggunakannya sebagai perkiraan batas.
Kita dapat melihat seberapa buruk (atau baiknya) perkiraan itu dengan melihat apa yang dilakukannya terhadap sinyal eksponensial kompleks . Turunan sebenarnya akan memberikan . Perkiraannya memberikan
sangat sangat akurat dengan frekuensi rendah ( mendekati 0), tetapi semakin tidak akurat karena mendekati frekuensi Nyquist (eωitωieωit
eωi(t+1)−eωi(t−1)2=eωieωit−e−ωieωit2=eωi−e−ωi2eωit=isin(ω)eωit
ωωω→π). Ini adalah tentang yang terbaik yang akan Anda lakukan dengan tiga sampel. Ini juga memiliki keuntungan dari menipiskan respon frekuensi tinggi daripada over-memperkuat.
Sekarang mari kita lakukan perataan dalam dimensi Y. Kami menginginkan sesuatu yang hanya menggunakan 3 poin, dan yang terbaik yang akan Anda dapatkan adalah . Filter ini memiliki respons frekuensi:
yang dengan lancar bertransisi dari melewatkan frekuensi rendah menjadi benar-benar melemahkan frekuensi tinggi.14f(t−Δ)+12f(t)+14f(t+Δ)
14eωi(t−Δ)+12eωit+14eωi(t+Δ)=12(1+e−ωiΔ+eωiΔ2)eωit=12(1+cosω)eωit
Jadi berbelit-belit perkiraan turunan dalam dimensi X dengan lebih halus di dimensi Y dan Anda mendapatkan kernel:
18⎡⎣⎢121000−1−2−1⎤⎦⎥.
Logika Pengembaraan
sumber