Materi Perkuliahan Pengolahan Citra Digital: Ruang Warna dan Operasi Piksel , Logika dan Aritmatika
Selamat datang di materi Pengolahan Citra Digital! Pada modul kali ini, kita akan membahas konsep fundamental yang menjadi dasar bagaimana komputer melihat dan memproses sebuah gambar. Layar komputer sebenarnya tidak melihat warna secara langsung, melainkan menerjemahkan kombinasi deretan angka numerik untuk menampilkannya.
Mari kita pelajari lebih dalam mengenai kualitas resolusi, jenis citra, ruang warna, hingga operasi dasar pada piksel!
1. Kualitas Citra dan Resolusi Piksel
Kualitas detail sebuah gambar sangat bergantung pada jumlah pikselnya. Semakin tinggi resolusi, semakin detail informasi yang didapat:
-
$512 \times 512$ piksel: Citra sangat tajam dengan informasi detail yang penuh dan sangat jelas.
-
$128 \times 128$ piksel: Penurunan jumlah piksel mulai menyebabkan detail menghilang dan gambar terlihat kabur.
-
$64 \times 64$ piksel: Terjadi kehilangan detail secara signifikan, sehingga objek utama menjadi sangat sulit untuk diidentifikasi.
2. Tiga Jenis Citra Utama
Dalam pengolahan citra, terdapat tiga jenis citra standar yang wajib dipahami:
-
Citra Berwarna (RGB): Dibangun dari tiga lapisan peta intensitas warna (Merah, Hijau, Biru) yang ditumpuk, sehingga sangat kaya akan informasi visual.
-
Citra Keabuan (Grayscale): Hanya menangani gradasi pencahayaan tanpa spektrum warna, dengan rentang nilai dari 0 (hitam pekat) hingga 255 (putih terang). Nilai 128 merepresentasikan abu-abu netral.
-
Citra Biner (Black & White): Bentuk citra paling sederhana karena hanya memiliki dua nilai mutlak: 0 (Hitam) dan 1 (Putih). Sangat berguna untuk segmentasi, deteksi tepi, dan pengenalan bentuk siluet.
3. Memahami Ruang Warna (Color Space)
Ruang warna adalah aturan komposisi yang menentukan bagaimana mesin menyusun "angka ajaib" untuk menghasilkan warna akhir di layar.
-
Model RGB (Red, Green, Blue): Konsep aditif dengan mencampur intensitas 3 lampu utama. Jika semua lampu dimatikan (0,0,0) hasilnya hitam, dan jika semua dinyalakan maksimal (255,255,255) hasilnya putih terang. Monitor komputer beroperasi dengan mekanisme ini.
-
Model HSV (Hue, Saturation, Value): Model ini dirancang agar mirip dengan cara mata manusia mempersepsikan warna benda. Hue menentukan jenis warna dasar, Saturation menentukan tingkat kepekatan warna, dan Value menentukan intensitas kecerahan (terang/gelap) . Model ini sangat andal untuk proses filtering objek berdasarkan warna tertentu.
-
Model YCrCb: Model utama dalam industri standar video dan kompresi gambar (seperti JPEG/MPEG). Memisahkan unsur Luma/Y (terang-gelap) dari unsur Chroma (Cr untuk perbedaan merah, Cb untuk perbedaan biru) . Ini efisien karena mata manusia jauh lebih sensitif mendeteksi kontras terang-gelap dibandingkan detail variasi warna.
4. Konversi RGB ke Grayscale
Mata manusia merespons warna dengan tingkat kepekaan berbeda: paling kuat pada cahaya Hijau, lalu Merah, dan paling lemah pada cahaya Biru. Oleh karena itu, kita tidak membagi rata ketiganya, melainkan menggunakan pembobotan matematis. Rumus dasarnya adalah: $I = aR + bG + cB$ dengan syarat mutlak $a + b + c = 1$. Contoh yang sering dipakai adalah standar NTSC: $I = 0.299R + 0.587G + 0.114B$.
5. Operasi Piksel (Aritmatika, Logika, dan Jarak)
-
Jarak Piksel: Untuk menghitung kedekatan antar piksel, kita bisa menggunakan fungsi Jarak Euclidean, Jarak City-block, dan Jarak Chessboard .
-
Operasi Aritmatika: Meliputi Penambahan (meningkatkan kecerahan), Pengurangan (menggelapkan), fungsi MAX/MIN untuk membandingkan piksel dari 2 citra, dan Invers citra (membuat klise negatif dengan rumus $f(u) = 255 - u$) .
-
Operasi Logika (Biner): Melibatkan logika boolean sederhana. NOT (komplemen untuk membalik nilai 0 jadi 1), AND (irisan, nilai 1 jika keduanya 1), OR (gabungan, nilai 1 jika minimal salah satu bernilai 1), dan XOR (Exclusive OR) .
💻 Tugas Kelompok: Project-Based Learning (PBL)
Untuk menguji pemahaman, mahasiswa diminta merancang aplikasi pengolahan citra menggunakan bahasa pemrograman Python .
Instruksi:
-
Buat antarmuka GUI menggunakan library Tkinter.
-
Aplikasi harus dapat membuka gambar (maksimal ukuran 960x600 px dengan rasio tetap).
-
Tampilkan citra asli (RGB) dan buat fitur konversi untuk menampilkan tiap kanal warna dari format HSV (H, S, V) dan YCrCb (Y, Cr, Cb).
-
Gunakan OpenCV untuk konversi ruang warna, NumPy untuk manipulasi array, dan Pillow agar gambar bisa dimuat di Tkinter.
-
Kumpulkan Laporan hasil pemrosesan gambar, file Project, dan Video presentasinya.