SUBBAB 3: Operator Turunan Pertama
Setelah selesai mempelajari materi, mahasiswa diharapkan:
- Mampu mengenal konsep dan bentuk kernel operator Prewitt.
- Mampu melakukan konvolusi citra dengan kernel Prewitt menggunakan teknik padding.
- Mampu melakukan tahapan lanjutan operator Prewitt, yaitu perhitungan magnitudo gradien dan thresholding.
Prewitt operator adalah salah satu metode untuk mendeteksi tepi dalam gambar. Tepi ini biasanya muncul ketika ada perubahan warna atau kecerahan yang tajam di antara dua bagian gambar. Berikut adalah contoh hasil pendeteksian tepi menggunakan operator Prewitt.

Gambar 3.4 Hasil pendeteksian tepi operator Prewitt
🔍 Tujuan Prewitt:
Prewitt ingin mengukur seberapa tajam perubahan kecerahan di dua arah:
- Arah horizontal (kiri ke kanan)
- Arah vertikal (atas ke bawah)
Dalam arah horizontal (x), Prewitt memperkirakan perubahan nilai antara bagian kanan dan kiri dari piksel tengah:
\[ \frac{\partial f}{\partial y} \approx \frac{1}{3} \left[ (f(x-1, y+1) + f(x, y+1) + f(x+1, y+1)) - (f(x-1, y-1) + f(x, y-1) + f(x+1, y-1)) \right] \]
Artinya:
- Ambil 3 piksel di atas
(y+1) - Kurangi dengan 3 piksel di bawah
(y−1) - Semua titik berada di kolom
x-1,x, danx+1 - Dibagi 3 karena itu rata-rata perbedaan
Sedangkan dalam arah vertikal (y), rumusnya:
\[ \frac{\partial f}{\partial x} \approx \frac{1}{3} \left[ (f(x+1, y-1) + f(x+1, y) + f(x+1, y+1)) - (f(x-1, y-1) + f(x-1, y) + f(x-1, y+1)) \right] \]
Artinya:
- Ambil 3 piksel di kanan
(x+1) - Kurangi dengan 3 piksel di kiri
(x−1) - Semua titik berada di baris
y-1,y, dany+1
Dari rumus turunan diskrit sebelumnya, bisa diterjemahkan langsung menjadi matriks kernel Prewitt, yang tinggal kamu geser (konvolusi) ke seluruh gambar. Berikut adalah matriks kernel untuk operator Prewitt.
- Kernel Gx (deteksi perubahan kiri–kanan):
- Prewitt membandingkan tiga piksel kiri dan tiga piksel kanan dari titik pusat.
- Yang kiri dikalikan -1, yang kanan dikalikan +1, lalu dijumlahkan.
- Piksel di tengah (kolom tengah) dikalikan dengan 0 karena tidak digunakan dalam perhitungan.
- Kernel Gy (deteksi perubahan atas–bawah):
- Prewitt membandingkan tiga piksel atas dan tiga piksel bawah dari titik pusat.
- Yang atas dikalikan -1, yang bawah dikalikan +1.
- Piksel di tengah (kolom tengah) dikalikan dengan 0 karena tidak digunakan dalam perhitungan.
Berikut adalah hasil deteksi tepi Operator Prewitt yang meliputi hasil konvolusi kernel horizontal (Gx), hasil konvolusi kernel vertikal (Gy), magnitude gradient, dan hasil thresholding-nya.

Gambar 3.5 Hasil konvolusi, magnitudo, threshold dengan operator Prewitt
Penjelasan:
- Gambar paling kiri atas adalah citra asli (grayscale) yang belum melalui proses deteksi tepi.
- Gambar tengah atas menunjukkan hasil konvolusi dengan kernel Prewitt arah horizontal (Gx), yang menyoroti tepi vertikal.
- Gambar kanan atas adalah hasil konvolusi dengan kernel Prewitt arah vertikal (Gy), yang menyoroti tepi horizontal.
- Gambar kiri bawah merupakan hasil magnitudo gradien, yaitu kombinasi dari Gx dan Gy untuk mendapatkan kekuatan tepi di setiap piksel.
- Gambar kanan bawah adalah hasil thresholding dengan ambang batas nilai > 100, di mana hanya piksel dengan magnitudo lebih dari 100 yang dianggap sebagai tepi (ditampilkan putih), sedangkan sisanya dihitamkan.
Contoh Perhitungan dengan Operator Prewitt
Gambar 3.6 menunjukkan citra ukuran 4x4 beserta nilai pikselnya yang akan kita gunakan untuk mendeteksi tepi dengan operator Prewitt.
|
|
Gambar 3.6 Matriks citra 4x4 untuk perhitungan operator Prewitt dengan I = Input Matriks
Berikut adalah kernel Prewitt yang akan digunakan.
|
\(
G_x =
\begin{bmatrix}
-1 & 0 & 1 \\
-1 & 0 & 1 \\
-1 & 0 & 1
\end{bmatrix}
\)
|
\(
G_y =
\begin{bmatrix}
-1 & -1 & -1 \\
0 & 0 & 0 \\
1 & 1 & 1
\end{bmatrix}
\)
|
Kita akan melakukan pendeteksian tepi pada matriks di atas menggunakan operator Prewitt dan teknik edge padding.
Langkah 1: Teknik Edge Padding
Langkah pertama yang dilakukan sebelum proses konvolusi adalah melakukan teknik padding, yaitu edge padding. Teknik ini menambahkan baris atau kolom di tepi matriks dengan menyalin nilai dari elemen tepi yang ada. Tujuannya adalah agar semua piksel pada citra dapat diproses dengan filter tanpa kehilangan informasi di tepi.
Menentukan Jumlah Padding:- Ukuran filter: \( f = 3 \)
- Maka padding: \( p = \left\lfloor \frac{K - 1}{2} \right\rfloor = \left\lfloor \frac{3 - 1}{2} \right\rfloor = 1 \) (dengan k = ukuran kernel)
- Tambahkan 1 baris di atas dan bawah serta 1 kolom di kiri dan kanan
Berikut adalah hasil matriks setelah dilakukan teknik edge padding terhadap matriks input pada gambar:
Langkah 2: Konvolusi dengan Kernel Prewitt
Sebelum memulai proses konvolusi, kita perlu menentukan ukuran matriks output yang akan dihasilkan.
Menghitung Ukuran Matriks Output:- Ukuran awal matriks (input): \( 4 \times 4 \)
- Ukuran kernel: \( 3 \times 3 \)
- Padding: \( p = 1 \)
- Stride: \( 1 \)
- Maka ukuran output: \[ \left( \frac{4 - 3 + 2 \times 1}{1} \right) + 1 = (3) + 1 = 4 \] Jadi, ukuran output adalah \( 4 \times 4 \)
Selanjutnya, kita akan memulai proses konvolusi. Kalikan tiap elemen citra dengan kernel Gx, lalu jumlahkan hasilnya. Begitu pula dengan kernel Gy.
Petunjuk:Gunakan dropdown untuk memilih kernel yang akan digunakan, lalu klik tombol Mulai Konvolusi.
Input Matriks
Kernel Konvolusi
Hasil Konvolusi
Perhitungan:
Perhitungan akan muncul di sini
Penjelasan:
- Hasil konvolusi menggunakan kernel Gx-Prewitt menunjukkan deteksi tepi vertikal yang kuat di area transisi antara kolom ketiga dan keempat, terutama dengan nilai tinggi seperti -234, -160, dan -159. Nilai-nilai ini mengindikasikan adanya perubahan intensitas yang signifikan secara horizontal dari piksel gelap (175, 177, dan 180) ke terang (112, 114, 116, dan 117) sehingga menunjukkan keberadaan tepi vertikal yang jelas.
- Hasil konvolusi menggunakan kernel Gy-Prewitt menunjukkan nilai-nilai yang rendah karena gambar aslinya tidak memiliki perubahan intensitas yang mencolok secara vertikal. Artinya, tidak ada transisi terang-gelap yang signifikan dari atas ke bawah yang bisa dianggap sebagai tepi horizontal.
Langkah 3: Hitung Magnitudo Gradient
Setelah kita mendapatkan hasil turunan pertama di arah horizontal (Gx) dan vertikal (Gy), kita bisa menghitung magnitudo gradient.
Rumus:Klik tombol Mulai Hitung, lalu klik Lanjut atau autoplay untuk melanjutkan proses.
Perhitungan:
Magnitudo tinggi terlihat di piksel [0,1] = 234.08, [0,2] = 159.11, [1, 1] = 234.36, [1,2] = 160.53, [2,1] = 234.17, [2,2] = 160.25, [3,1] = 234.01, dan [3,2] = 160.01, menunjukkan kemungkinan besar ada tepi di area tengah. Nilai lainnya seperti [0,0] = 45.4 atau [3,3] = 30.15 jauh lebih rendah, menandakan area tanpa tepi. Jadi, tepi kemungkinan terletak di sekitar kolom 1–2.
Langkah 4: Thresholding (Ambang Batas)
Setelah menghitung magnitudo, langkah selanjutnya adalah menyaring hasilnya agar hanya tepi yang
kuat
yang ditampilkan. Untuk menentukan threshold kita menggunakan rumus berikut.
- Klik tombol Mulai Hitung, lalu klik Lanjut atau Autoplay untuk melanjutkan proses.
Perhitungan:
Berdasarkan hasil threshold, bagian tepi terdeteksi pada piksel [0, 1], [0, 2], [1, 1], [1, 2], [2, 1], [2, 2], [3, 1] dan [3, 2] karena nilai magnitudonya melebihi 117.58. Piksel-piksel ini membentuk pola vertikal di tengah, menunjukkan adanya garis tepi vertikal. Sementara piksel lainnya bernilai 0, menandakan area non-tepi.
Aktivitas 7
Kerjakan aktivitas berikut untuk menguji pemahaman dan menambah nilai progresmu!Soal 1 dari 2
Gambar 3.7 menunjukkan sebuah citra beserta nilai pikselnya.
![]() |
|
Gambar 3.7 Matriks citra 4x4
Berikut adalah kernel operator Prewitt.
|
\(
G_x =
\begin{bmatrix}
-1 & 0 & 1 \\
-1 & 0 & 1 \\
-1 & 0 & 1
\end{bmatrix}
\)
|
\(
G_y =
\begin{bmatrix}
-1 & -1 & -1 \\
0 & 0 & 0 \\
1 & 1 & 1
\end{bmatrix}
\)
|
