Widget HTML Atas


Pencerahan dan Penggelapan Citra

Praktikum PCD Pemula ke-7

Tujuan

1. Memahami konsep dasar pencerahan dan penggelapan citra digital.

2. Mengimplementasikan operasi pencerahan dan penggelapan pada citra menggunakan Python tanpa pustaka OpenCV.

Alat dan Bahan

- Komputer dengan Python 3 terinstal.

- Editor teks atau IDE untuk Python.

- Beberapa sampel citra digital dalam format umum seperti JPEG atau PNG.

Langkah Praktikum

1. Pengenalan Teori

   - Penjelasan tentang konsep pencerahan dan penggelapan citra, termasuk perbedaan antara keduanya.

   - Demonstrasi pengaruh operasi ini pada citra digital.

2. Pembuatan Fungsi Pencerahan dan Penggelapan

   - Mahasiswa akan membuat dua fungsi terpisah: satu untuk mencerahkan dan satu untuk menggelapkan citra.

   - Fungsi-fungsi ini akan mengubah nilai pixel citra dengan menambahkan atau mengurangi intensitas tertentu.

3. Implementasi pada Citra

   - Mahasiswa akan menerapkan fungsi yang telah dibuat pada sampel citra yang disediakan.

   - Melakukan eksperimen dengan mengubah nilai intensitas untuk melihat pengaruh yang berbeda pada citra.

4. Analisis Hasil

   - Diskusi tentang bagaimana perubahan intensitas mempengaruhi kualitas visual dari citra.

   - Mengidentifikasi kasus di mana pencerahan atau penggelapan mungkin berguna dalam pengolahan citra.

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
from PIL import Image

def adjust_brightness(image, factor):
    # Mengonversi citra ke mode 'RGB' jika belum
    if image.mode != 'RGB':
        image = image.convert('RGB')

    # Mengubah intensitas setiap pixel
    def change_brightness(pixel):
        return tuple(min(255, max(0, int(channel * factor))) for channel in pixel)

    # Menerapkan perubahan pada setiap pixel
    pixels = [change_brightness(pixel) for pixel in image.getdata()]
    image.putdata(pixels)
    return image

# Membaca citra
image_path = "path_ke_citra.jpg"  # Ganti dengan path citra yang sesuai
original_image = Image.open(image_path)

# Mencerahkan citra
brightened_image = adjust_brightness(original_image, 1.5)  # Faktor 1.5 untuk pencerahan
brightened_image.show()

# Menggelapkan citra
darkened_image = adjust_brightness(original_image, 0.5)  # Faktor 0.5 untuk penggelapan
darkened_image.show()

Pastikan mahasiswa mengganti `"path_ke_citra.jpg"` dengan path yang sesuai ke file citra yang mereka ingin diolah.