Artikel Lainnya

Edge Detection (Canny) dengan Python

🧠 Pengertian Edge Detection dalam Computer Vision

Apa itu Edge Detection

Edge detection adalah teknik dalam computer vision yang digunakan untuk mendeteksi batas objek dalam sebuah gambar. Edge biasanya muncul sebagai perubahan intensitas yang tajam antara piksel.

Peran Edge dalam Analisis Gambar

Edge sangat penting karena membantu sistem mengenali bentuk, struktur, dan objek dalam gambar. Tanpa edge detection, analisis gambar akan jauh lebih kompleks.

⚡ Pengenalan Algoritma Canny

Sejarah dan Pengembang

Algoritma Canny dikembangkan oleh John F. Canny pada tahun 1986 dan masih menjadi salah satu metode terbaik hingga saat ini.

Keunggulan Metode Canny

  • Deteksi edge yang lebih akurat
  • Minim noise
  • Hasil lebih halus dan jelas

🔬 Tahapan dalam Algoritma Canny

Noise Reduction (Gaussian Blur)

Langkah pertama adalah mengurangi noise menggunakan Gaussian filter agar hasil edge lebih bersih.

Gradient Calculation

Menghitung perubahan intensitas menggunakan operator seperti Sobel.

Non-Maximum Suppression

Menghapus pixel yang bukan bagian dari edge utama.

Double Threshold

Menentukan edge kuat dan lemah berdasarkan dua nilai threshold.

Edge Tracking by Hysteresis

Menghubungkan edge yang lemah jika terhubung dengan edge kuat.

🛠️ Cara Kerja Edge Detection (Canny) dengan Python

Instalasi OpenCV

pip install opencv-python

Contoh Kode Implementasi

import cv2

# Load gambar
image = cv2.imread('gambar.jpg')

# Konversi ke grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Gunakan Gaussian Blur
blur = cv2.GaussianBlur(gray, (5, 5), 0)

# Canny Edge Detection
edges = cv2.Canny(blur, 100, 200)

# Simpan hasil
cv2.imwrite('edges.jpg', edges)

Kode di atas menunjukkan cara sederhana menggunakan edge detection (canny) dengan python dalam proyek computer vision.

⚙️ Penjelasan Parameter Canny

Threshold Minimum dan Maksimum

  • Threshold bawah: mendeteksi edge lemah
  • Threshold atas: mendeteksi edge kuat

Contoh:

edges = cv2.Canny(image, 50, 150)

Kernel Size

Digunakan dalam Gaussian Blur untuk mengontrol tingkat smoothing.

🚀 Optimasi Edge Detection

Pengaturan Threshold Optimal

Pemilihan threshold sangat penting. Terlalu rendah → noise banyak, terlalu tinggi → edge hilang.

Preprocessing Gambar

  • Grayscale
  • Blur
  • Normalisasi

⚖️ Perbandingan dengan Metode Lain

Sobel

Lebih sederhana tapi kurang akurat.

Laplacian

Mendeteksi edge dari semua arah, namun lebih sensitif terhadap noise.

📊 Studi Kasus Penggunaan Canny

Deteksi Objek

Digunakan dalam sistem pengenalan wajah dan kendaraan.

Lane Detection

Digunakan dalam mobil otonom untuk mendeteksi jalur jalan.

⚠️ Kesalahan Umum

  • Tidak melakukan preprocessing
  • Threshold tidak tepat
  • Gambar terlalu noisy
  • Tidak menggunakan grayscale

Made with by Ardheefy