Lompat ke konten utama
←

Mengolah Citra dengan Python

Pelajaran 2 dari 16

Citra sebagai larik

RGB, grayscale, dan HSV

Setelah pelajaran ini kamu bisa mengubah citra RGB menjadi grayscale dengan rumus luma yang dipakai Pillow dan menjelaskan kegunaan ruang warna HSV.

±14 menitDiperiksa 28 Sep 2026

Materi

Citra RGB menyimpan tiga kanal: merah, hijau, dan biru. Citra abu-abu (grayscale) hanya menyimpan satu kanal kecerahan. Dokumentasi Image.convert di Pillow menyebut rumus yang dipakainya saat mengubah citra ke mode "L": transformasi luma ITU-R 601-2, L = R × 299/1000 + G × 587/1000 + B × 114/1000. Bobot hijau paling besar dan biru paling kecil, sehingga hijau murni (0, 255, 0) jauh lebih terang daripada biru murni (0, 0, 255), walau keduanya bernilai 255 di satu kanal. Hasilnya dibulatkan ke bilangan bulat karena mode "L" menyimpan uint8.

Pustaka lain boleh memakai bobot lain. skimage.color.rgb2gray memakai 0,2125; 0,7154; 0,0721, sehingga dua pustaka bisa memberi angka abu-abu berbeda untuk piksel yang sama. Keduanya benar menurut rumusnya masing-masing; yang salah adalah membandingkan hasil dari dua rumus yang berbeda.

HSV (hue, saturation, value) memisahkan rona warna dari kecerahan. Contoh "RGB to HSV" di galeri scikit-image menjelaskan bahwa di RGB rona dan kecerahan tersebar sebagai kombinasi ketiga kanal, sedangkan di HSV masing-masing menempati satu kanal, sehingga memisahkan objek berdasarkan warnanya cukup dengan ambang pada satu kanal. Modul colorsys bawaan Python mengubah satu warna ber-skala 0–1 ke HSV.

import colorsys
import numpy as np

oranye = np.array([240, 140, 20], dtype=np.uint8)
bobot = np.array([0.299, 0.587, 0.114])
print(round(float(oranye.astype(float) @ bobot), 2))   # 156.22
print(colorsys.rgb_to_hsv(240 / 255, 140 / 255, 20 / 255))  # rona, saturasi, value

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Sebuah piksel bernilai (R, G, B) = (100, 150, 200). Berapa nilai abu-abunya menurut rumus luma Pillow? Bulatkan ke bilangan bulat terdekat.

Latihan 3 dari 3

Kamu ingin memisahkan tomat merah dari daun hijau pada foto yang diambil di bawah cahaya berbeda-beda. Menurut contoh RGB to HSV di scikit-image, kenapa HSV memudahkan?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke