Widget HTML Atas


Deteksi Tepi Sederhana dengan Operator Gradien

Praktikum PCD Pemula ke-10

Tujuan

Mempelajari konsep dasar deteksi tepi pada citra digital menggunakan operator gradien.

Alat dan Bahan

- Komputer dengan Python 3 terinstal.

- Editor teks atau IDE untuk Python

- Beberapa citra sampel dalam format yang umum (seperti .jpg atau .png).

Langkah Kerja

1. Membaca citra masukan dalam mode grayscale.

2. Mendefinisikan operator gradien (misalnya, operator Sobel) untuk menghitung gradien horizontal dan vertikal citra.

3. Menghitung magnitude gradien pada setiap piksel.

4. Mengaplikasikan ambang batas untuk memilih piksel yang memiliki magnitude gradien tinggi sebagai tepi.

5. Menampilkan citra asli dan citra hasil deteksi tepi.

6. Analisis hasil dan pembahasan.

Kode Program

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
from scipy.ndimage import convolve

def load_image(path):
    return np.array(Image.open(path).convert('L'))

def sobel_operator(image):
    Kx = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]])
    Ky = np.array([[1, 2, 1], [0, 0, 0], [-1, -2, -1]])

    Gx = convolve(image, Kx)
    Gy = convolve(image, Ky)

    magnitude = np.sqrt(Gx**2 + Gy**2)
    magnitude *= 255.0 / magnitude.max()

    return magnitude

def main():
    image_path = 'path/to/your/image.jpg'  # Ganti dengan path citra yang diinginkan
    image = load_image(image_path)
    edge_detected = sobel_operator(image)

    plt.figure(figsize=(12, 6))
    plt.subplot(1, 2, 1)
    plt.title('Original Image')
    plt.imshow(image, cmap='gray')

    plt.subplot(1, 2, 2)
    plt.title('Edge Detection')
    plt.imshow(edge_detected, cmap='gray')
    plt.show()

if __name__ == '__main__':
    main()

Kode ini menggunakan pustaka PIL untuk membaca citra, numpy untuk manipulasi array, scipy untuk operasi konvolusi, dan matplotlib untuk menampilkan citra. Pastikan untuk mengganti `'path/to/your/image.jpg'` dengan lokasi citra yang ingin Anda gunakan.