• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM PEMROSESAN DATA PEMROSESAN DATA CITRA

N/A
N/A
Naufal Aqil

Academic year: 2024

Membagikan "LAPORAN PRAKTIKUM PEMROSESAN DATA PEMROSESAN DATA CITRA"

Copied!
13
0
0

Teks penuh

(1)

PEMROSESAN DATA CITRA

Dosen Pengampu:

Alfi Fadliana S.Si., M.Stat

DISUSUN OLEH :

ZULFAHMI NAFIIS SUFFI (3323600019)

PROGRAM STUDI SAINS DATA TERAPAN DEPARTEMEN TEKNIK INFORMATIKA DAN

KOMPUTER

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

2023

(2)

1. DATA CITRA

KODE

OUTPUT

ANALISIS

1. from google.colab import files: Baris ini menggunakan modul files dari Google Colab untuk mengunggah file dari lokal ke sesi Colab.

2. file = files.upload(): Baris ini dengan menggunakan modul files.upload() dari Google Colab, pengguna dapat mengunggah file dari sistem lokal mereka ke sesi Colab. Ini bisa digunakan untuk mengunggah berbagai jenis file, seperti gambar, data CSV, atau bahkan kode Python.Perlu dicatat bahwa ini akan berfungsi dengan baik di lingkungan Google Colab, di mana interaktivitas dengan sistem file lokal mungkin terbatas.

KODE

OUTPUT

ANALISIS

Analisis program yang memuat perintah !ls tergantung pada konteksnya. Jika menjalankan perintah ! ls di dalam notebook Jupyter atau lingkungan serupa yang mendukung sintaks tersebut, itu akan menampilkan daftar file dan direktori yang ada di direktori saat ini tempat notebook tersebut berjalan.

(3)

OUTPUT

ANALISIS

Program yang Anda berikan adalah untuk membaca gambar "spongebob.jpg"

menggunakan OpenCV di Google Colab

1. Program membaca gambar "spongebob.jpg" dan menyimpannya sebagai objek gambar dalam variabel img. Objek gambar ini adalah representasi dari gambar di dalam memori yang dapat dimanipulasi dan ditampilkan.

2. Setelah itu, gambar ditampilkan menggunakan cv2_imshow(). Di Google Colab, kita perlu menggunakan cv2_imshow() untuk menampilkan gambar karena metode standar cv2.imshow() tidak berfungsi dalam lingkungan notebook.

3. Cetak tipe data img menunjukkan bahwa itu adalah tipe data yang disediakan

oleh OpenCV, biasanya numpy array. Hal ini karena OpenCV membaca

gambar sebagai larik (array) piksel, yang memungkinkan untuk manipulasi

lebih lanjut menggunakan fungsi-fungsi OpenCV lainnya.

(4)

KODE

OUTPUT

ANALISIS

Program yang Anda berikan menggunakan Matplotlib untuk menampilkan dua gambar:

gambar asli (dalam format BGR) dan gambar yang telah dikonversi ke skema warna RGB menggunakan OpenCV sebelum ditampilkan.

Program ini menggunakan Matplotlib untuk menampilkan dua gambar dalam satu jendela plot.

Subplot pertama menampilkan gambar asli dalam format BGR.

Subplot kedua menampilkan gambar yang sudah dikonversi ke format RGB.

Pemanggilan plt.show() digunakan untuk menampilkan plot dengan dua subplot tersebut.

Dengan demikian, program tersebut memberikan cara untuk memvisualisasikan gambar asli

dan gambar yang sudah diubah ke skema warna RGB secara bersamaan menggunakan

Matplotlib.

(5)

OUTPUT

ANALISIS

1. ‘print(img.shape)’: Perintah ini menampilkan bentuk (shape) dari gambar yang telah dibaca. Hasilnya akan menunjukkan tuple yang terdiri dari tiga elemen: tinggi gambar (jumlah baris piksel), lebar gambar (jumlah kolom piksel), dan jumlah saluran warna.

Misalnya, jika hasilnya adalah (480, 640, 3), itu berarti gambar memiliki tinggi 480 piksel, lebar 640 piksel, dan terdiri dari 3 saluran warna (misalnya, RGB).

2. ‘print(img.size)’: Perintah ini menampilkan ukuran total data gambar dalam byte. Ini merupakan jumlah total dari semua elemen dalam larik (array) gambar. Ukuran ini mencerminkan berapa banyak ruang memori yang digunakan untuk menyimpan gambar dalam format yang telah dibaca.

3. ‘print(img.dtype)’: Perintah ini menampilkan tipe data dari gambar. Biasanya, ini akan menjadi tipe data dari setiap elemen dalam larik gambar. Ini bisa menjadi uint8 untuk gambar yang berwarna, yang berarti unsigned integer 8-bit, yang merupakan representasi standar dari piksel gambar dalam OpenCV. Ini menunjukkan kedalaman bit dari gambar, yaitu jumlah bit yang digunakan untuk mewakili setiap piksel.

Fungsi:

img.shape memberikan informasi tentang resolusi gambar, yaitu jumlah piksel dalam setiap dimensi gambar, serta jumlah saluran warna yang dimiliki gambar tersebut.

img.size memberikan ukuran total data gambar dalam byte. Ini merupakan informasi tentang seberapa besar gambar tersebut dalam memori.

img.dtype memberikan tipe data dari setiap elemen dalam larik gambar. Ini adalah informasi tentang representasi piksel dalam gambar.

KODE

ANALISIS 1. Blue Channel (Saluran Warna Biru) - b:

 Dengan menggunakan img[...,0], kita mengambil saluran warna biru dari gambar. Di dalam representasi BGR (Blue-Green-Red) OpenCV, saluran biru berada di indeks ke-0.

 Variabel b akan berisi nilai-nilai intensitas piksel pada saluran warna biru. Setiap elemen dalam b mewakili kecerahan warna biru pada lokasi piksel yang sesuai dalam

(6)

gambar.

2. Green Channel (Saluran Warna Hijau) - g:

 Dengan menggunakan img[...,1], kita mengambil saluran warna hijau dari gambar.

Di dalam representasi BGR, saluran hijau berada di indeks ke-1.

 Variabel g akan berisi nilai-nilai intensitas piksel pada saluran warna hijau. Setiap elemen dalam g mewakili kecerahan warna hijau pada lokasi piksel yang sesuai dalam gambar.

3. Red Channel (Saluran Warna Merah) - r:

 Dengan menggunakan img[...,2], kita mengambil saluran warna merah dari gambar.

Di dalam representasi BGR, saluran merah berada di indeks ke-2.

 Variabel r akan berisi nilai-nilai intensitas piksel pada saluran warna merah. Setiap elemen dalam r mewakili kecerahan warna merah pada lokasi piksel yang sesuai dalam gambar.

KODE

OUTPUT

ANALISIS

Kode cv2_imshow(g) menggunakan fungsi cv2_imshow dari OpenCV untuk menampilkan citra yang disimpan dalam variabel g, yang diasumsikan sebagai saluran warna hijau (green channel) dari suatu gambar. Fungsi cv2_imshow secara spesifik digunakan untuk menampilkan citra atau gambar menggunakan jendela tampilan OpenCV.

KODE

ANALISIS

1. img: Variabel yang diasumsikan berisi gambar dalam format BGR.

2. cv2.COLOR_BGR2HSV: Parameter yang menentukan jenis konversi warna yang akan dilakukan. Dalam hal ini, konversi dilakukan dari ruang warna BGR ke ruang warna HSV.

(7)

OUTPUT

ANALISIS

Program diatas bertujuan untuk memisahkan komponen Hue (H), Saturation (S), dan Value (V) dari suatu citra yang telah dikonversi ke dalam ruang warna HSV (Hue-Saturation-Value).

 Pemisahan Komponen: Dalam baris pertama (h, s, v = cv2.split(hsv)), citra yang telah dikonversi ke ruang warna HSV (diasumsikan telah didefinisikan sebelumnya) dipisahkan menjadi tiga komponen: H (hue), S (saturation), dan V (value). Setiap komponen ini dipisahkan ke dalam tiga variabel yang berbeda: h, s, dan v.

 Menampilkan Band Hue: Pada baris kedua (cv2_imshow(h)), komponen Hue (h) yang telah dipisahkan dari citra ditampilkan.

 Komponen Hue (H) menggambarkan tipe atau warna dalam citra. Dalam representasi HSV, nilai H berkisar dari 0 hingga 179 (dalam OpenCV).

 Menampilkan komponen Hue (H) memungkinkan Anda untuk melihat distribusi warna pada citra berdasarkan jenis warna yang ada di dalamnya.

(8)

KODE

OUTPUT

ANALISIS

(9)

dengan tanda komentar, sehingga tidak dieksekusi. Anda perlu menghilangkan tanda komentar (#) untuk membaca gambar. Jika menggunakan file "Baymax.jpg", Anda harus menghilangkan tanda komentar.

 Menghitung Histogram: Program kemudian menghitung histogram untuk setiap saluran warna (biru, hijau, dan merah) dalam gambar yang telah dibaca menggunakan cv2.calcHist(). Ini dilakukan dalam loop for yang melintasi saluran warna.

 Visualisasi Histogram: Setiap histogram yang dihitung kemudian divisualisasikan menggunakan plt.plot() dari Matplotlib. Histogram adalah representasi distribusi intensitas piksel dalam gambar. Setiap saluran warna memiliki histogram tersendiri. Dalam loop, plt.plot() digunakan untuk membuat plot histogram untuk masing-masing saluran warna (biru, hijau, merah).

 Menampilkan Plot: Setelah plot histogram untuk setiap saluran warna selesai, plt.show() digunakan untuk menampilkan plot keseluruhan.

KODE

OUTPUT

(10)

ANALISIS

1. plt.hist(h.ravel(), 256, [0,256]);: Menggunakan fungsi hist dari Matplotlib untuk membuat histogram.

h.ravel(): Fungsi numpy ravel() digunakan untuk mengubah array multi-dimensi menjadi array satu dimensi (flat array). Dalam konteks ini, h kemungkinan besar adalah matriks dua dimensi yang berisi data histogram, dan ravel() digunakan untuk meratakan matriks tersebut.

256: Menentukan jumlah bins yang digunakan dalam histogram. Dalam hal ini, terdapat 256 bins.

[0,256]: Menentukan rentang nilai untuk histogram, yaitu dari 0 hingga 255.

2. plt.show(): Menampilkan plot histogram yang telah dibuat.

KODE

OUTPUT A. Gambar Asal

(11)

C. Hasil operasi

(12)

ANALISIS

Membaca Citra: Program membaca citra "spongebob.jpg" yang telah diunggah sebelumnya. Citra tersebut dimuat menggunakan cv2.imread().

Konversi ke HSV: Citra yang dibaca dikonversi dari skema warna BGR (Blue-Green- Red) ke HSV (Hue-Saturation-Value) menggunakan cv2.cvtColor(). Konversi ini memudahkan dalam deteksi warna karena lebih mudah untuk menentukan rentang nilai hue (hue range) dalam skema warna HSV.

Slider Interaktif: Program menggunakan fungsi slider interaktif Google Colab untuk menentukan batas warna orange pada band hue. Pengguna dapat menyesuaikan batas bawah dan batas atas warna orange dengan menggunakan slider.

Definisi Batas Warna: Program mendefinisikan batas warna orange dalam skema warna HSV menggunakan array numpy untuk batas bawah dan batas atas. Batas bawah dan batas atas ini ditentukan oleh pengguna melalui slider interaktif.

Masking Warna: Program membuat maska untuk mencari objek yang sesuai dengan batas warna yang telah ditentukan. Masking dilakukan dengan menggunakan fungsi cv2.inRange().

Operasi Bitwise-AND: Program melakukan operasi bitwise AND antara citra asli dan maska yang telah dibuat untuk mendapatkan hasil akhir yang hanya menampilkan bagian dari citra yang memiliki warna orange sesuai dengan batas yang ditentukan.

Menampilkan Hasil: Program menggunakan matplotlib untuk menampilkan gambar

(13)

KODE

OUTPUT

ANALISIS

Hue (H): Nilai Hue adalah 120. Dalam representasi HSV, Hue mengukur jenis warna. Dalam hal ini, Hue 120 menunjukkan bahwa warna tersebut masuk ke dalam rentang warna biru dalam ruang warna HSV. Rentang Hue biasanya berada dalam rentang 0-179 dalam OpenCV.

Saturation (S): Nilai Saturation adalah 255. Saturation mengukur keintensitasan warna. Nilai 255 menunjukkan bahwa warna tersebut memiliki saturasi maksimum, artinya warnanya sangat murni tanpa campuran putih, abu-abu, atau hitam.

Value (V): Nilai Value juga adalah 255. Value mengukur kecerahan warna. Nilai 255 menunjukkan bahwa warna tersebut sangat terang.

Dengan demikian, hasil konversi menunjukkan bahwa warna biru dalam format RGB (0, 0,

255) diinterpretasikan sebagai warna biru yang sangat murni (dengan nilai Hue sekitar

120), sangat terang, dan memiliki saturasi penuh. Ini sesuai dengan sifat warna biru yang

terang dan murni.

Referensi

Dokumen terkait