Posted in

Pengolahan Citra Bag-2 :Dasar Pengolahan Citra Digital

Pengolahan citra digital (digital image processing) merupakan bidang yang mempelajari teknik untuk memproses dan menganalisis citra menggunakan komputer. Citra digital merupakan representasi dari objek nyata yang ditangkap oleh perangkat seperti kamera atau scanner, kemudian disimpan dalam bentuk data numerik sehingga dapat diproses oleh komputer.

Tujuan utama pengolahan citra digital adalah untuk meningkatkan kualitas citra, mengekstraksi informasi penting, serta mempersiapkan citra untuk analisis lebih lanjut seperti pengenalan objek pada sistem computer vision.

2.1 Pengertian Citra Digital

Citra digital adalah representasi dua dimensi dari suatu objek yang terdiri dari sekumpulan elemen kecil yang disebut pixel (picture element). Setiap pixel memiliki nilai intensitas tertentu yang menunjukkan tingkat kecerahan atau warna pada titik tersebut.

Secara matematis, citra digital dapat direpresentasikan sebagai fungsi dua dimensi:f(x,y)f(x,y)dimana:

  • xx dan yy menunjukkan koordinat posisi pixel
  • f(x,y)f(x,y) menunjukkan nilai intensitas pada pixel tersebut

Nilai intensitas ini dapat berupa:

  • tingkat keabuan (grayscale)
  • nilai warna (RGB atau BGR)

2.2 Pixel pada Citra Digital

Pixel merupakan unit terkecil dari citra digital. Setiap pixel menyimpan informasi intensitas cahaya atau warna.

Sebagai contoh, sebuah citra dengan resolusi:

1024 × 768

memiliki:

786.432 pixel

Setiap pixel memiliki koordinat tertentu yang menunjukkan posisinya dalam citra.

Contoh koordinat pixel:

(0,0)      (1,0)      (2,0)
(0,1) (1,1) (2,1)
(0,2) (1,2) (2,2)

Koordinat pixel biasanya dimulai dari pojok kiri atas citra.

2.3 Resolusi Citra

Resolusi citra menunjukkan jumlah pixel yang terdapat dalam suatu citra.

Resolusi biasanya dinyatakan dalam bentuk:

lebar × tinggi

Contoh resolusi citra:

ResolusiJumlah Pixel
640 × 480307.200
1280 × 720921.600
1920 × 10802.073.600

Semakin tinggi resolusi citra, maka semakin banyak informasi visual yang dapat disimpan dalam citra tersebut.

Namun, resolusi yang tinggi juga menyebabkan ukuran file citra menjadi lebih besar.

2.4 Jenis-Jenis Citra Digital

Dalam pengolahan citra digital, terdapat beberapa jenis citra yang umum digunakan.

1. Citra Biner

Citra biner hanya memiliki dua nilai pixel yaitu:

0 = hitam
1 = putih

Citra jenis ini biasanya digunakan pada proses segmentasi objek.

2. Citra Grayscale

Citra grayscale hanya memiliki satu kanal warna yang menunjukkan tingkat keabuan.

Nilai pixel berada pada rentang:

0 – 255

Keterangan:

0   = hitam
255 = putih

Citra grayscale sering digunakan dalam banyak algoritma pengolahan citra karena lebih sederhana dibandingkan citra berwarna.

3. Citra Berwarna (Color Image)

Citra berwarna terdiri dari beberapa kanal warna. Pada umumnya digunakan model warna RGB (Red, Green, Blue).

Namun pada OpenCV digunakan format:

BGR (Blue, Green, Red)

Setiap pixel memiliki tiga nilai intensitas.

Contoh nilai pixel:

[255, 0, 0]

artinya warna biru penuh pada format BGR.

2.5 Representasi Matriks pada Citra

Secara komputasi, citra digital direpresentasikan dalam bentuk matriks.

Contoh citra grayscale:

  52   55   61   66
70 61 64 73
63 65 66 75
62 70 68 79

Setiap angka menunjukkan nilai intensitas pixel.

Pada citra berwarna, setiap pixel memiliki tiga matriks:

Blue Channel
Green Channel
Red Channel

Sehingga citra berwarna dapat direpresentasikan sebagai matriks tiga dimensi.

2.6 Histogram Citra

Histogram citra merupakan grafik yang menunjukkan distribusi intensitas pixel dalam suatu citra.

Histogram digunakan untuk:

  • menganalisis kontras citra
  • menentukan tingkat pencahayaan
  • melakukan enhancement citra

Contoh interpretasi histogram:

  • histogram condong ke kiri → citra terlalu gelap
  • histogram condong ke kanan → citra terlalu terang
  • histogram merata → kontras baik

2.7 Tahapan Dasar Pengolahan Citra

Dalam sistem pengolahan citra digital, umumnya terdapat beberapa tahapan utama.

1. Akuisisi Citra

Proses pengambilan citra menggunakan perangkat seperti kamera atau sensor.

2. Preprocessing

Tahap peningkatan kualitas citra seperti:

  • pengurangan noise
  • peningkatan kontras
  • smoothing

3. Segmentasi

Memisahkan objek dari latar belakang citra.

4. Ekstraksi Fitur

Mengambil informasi penting dari objek seperti:

  • bentuk
  • tekstur
  • warna

5. Pengenalan Objek

Mengidentifikasi objek menggunakan teknik klasifikasi atau machine learning.

2.8 Peran Pengolahan Citra dalam Computer Vision

Pengolahan citra digital merupakan tahap awal yang sangat penting dalam computer vision. Tanpa pengolahan citra yang baik, sistem computer vision akan kesulitan dalam memahami isi citra.

Sebagai contoh:

TahapFungsi
Pengolahan citrameningkatkan kualitas citra
Computer visionmemahami isi citra

Dengan demikian, pengolahan citra berperan sebagai fondasi utama dalam sistem computer vision.

Pengolahan Citra Digital Menggunakan OepnCV

2.1 Membaca Citra Digital

Citra digital dapat dibaca menggunakan fungsi cv2.imread().

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
cv2.imshow("Citra Asli", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Penjelasan

FungsiKeterangan
cv2.imread()membaca file citra
cv2.imshow()menampilkan citra
cv2.waitKey()menunggu input keyboard
cv2.destroyAllWindows()menutup semua window

2.2 Mengetahui Resolusi Citra

Resolusi citra dapat diketahui menggunakan atribut shape.

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
print("Ukuran citra:", img.shape)

Output contoh:

Ukuran citra: (720, 1280, 3)

Penjelasan:

NilaiKeterangan
720tinggi citra
1280lebar citra
3jumlah channel warna

2.3 Konversi Citra ke Grayscale

Citra berwarna dapat diubah menjadi citra grayscale menggunakan fungsi cv2.cvtColor().

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Grayscale", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

Citra grayscale hanya memiliki 1 channel intensitas.

2.4 Mengakses Nilai Pixel

Pixel dapat diakses menggunakan koordinat (baris, kolom).

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
pixel = img[100,100]
print("Nilai pixel:", pixel)

Output contoh:

Nilai pixel: [120 145 210]

Artinya:

ChannelNilai
Blue120
Green145
Red210

Perlu diperhatikan bahwa OpenCV menggunakan format BGR, bukan RGB.

2.5 Mengambil Nilai Warna Secara Terpisah

Setiap pixel memiliki tiga komponen warna.

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
b, g, r = img[100,100]
print("Blue:", b)
print("Green:", g)
print("Red:", r)

2.6 Mengubah Nilai Pixel

Nilai pixel dapat dimodifikasi untuk mengubah warna pada citra.

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
img[100,100] = [0,0,255]
cv2.imshow("Perubahan Pixel", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

2.7 Mengubah Area Pixel (Region of Interest)

Kita juga dapat mengubah area tertentu pada citra.

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
img[100:200,100:200] = [0,0,0]# membuat kotak hitam
cv2.imshow("ROI", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Penjelasan:

100:200 → rentang baris
100:200 → rentang kolom

2.8 Menampilkan Histogram Citra

Histogram digunakan untuk melihat distribusi intensitas pixel.

Contoh Program

import cv2
import matplotlib.pyplot as plt
img = cv2.imread("gambar.jpg",0)
plt.hist(img.ravel(),256,[0,256])
plt.title("Histogram Citra")
plt.show()

Histogram ini menunjukkan jumlah pixel pada setiap tingkat intensitas.

2.9 Menyimpan Hasil Pengolahan Citra

Citra hasil pengolahan dapat disimpan menggunakan cv2.imwrite().

Contoh Program

import cv2
img = cv2.imread("gambar.jpg")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imwrite("hasil_grayscale.jpg", gray)

File baru akan tersimpan sebagai hasil_grayscale.jpg.

Leave a Reply

Your email address will not be published. Required fields are marked *