PERTEMUAN 2
LABORATORIUM MULTIMEDIA
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI NASIONAL
BANDUNG
2021
PRAKTEK A9- HISTOGRAM CITRA GRAYSCALE
1. Analisis hasil proses histogram dari 5 buah citra keabuan yang berbeda tingkat
kecerahan dan kontrasnya
Gambar 1
Gambar 2
Gambar 3
Gambar 4
2. Jelaskan library matplotlib pada python
Matplotlib adalah library Python yang fokus pada visualisasi data seperti
membuat plot grafik, Visualisasi dari matplotlib adalah sebuah gambar grafik yang
terdapat satu sumbu atau lebih. Setiap sumbu memiliki sumbu horizontal (x) dan sumbu
vertikal (y), dan data yang direpresentasikan menjadi warna
dan glyphs seperti marker (contohnya bentuk lingkaran) atau lines (garis) atau poligon.
Berfungsi untuk membuat histogram yang diambil dari gambarnya yang memiliki
nilai maksimus 255.
Gambar 1
Gambar 2
Gambar 3
Gambar 4
Gambar 5
plt.xlim([0, 256])
Mengatur kelas sumbu x
self.displayImage(2)
Menampilkan image di windows ke 2
plt.show()
Melakukan Visualisasi dari hasil Histogram
plt.plot(cdf_normalized, color='b')
plt.hist(self.image.flatten(), 256, [0, 256], color='r')
plt.xlim([0, 256])
plt.legend(('cdf', 'histogram'), loc='upper left')
plt.show()
cdf = hist.cumsum()
unuk menghitung jumlah komulatif elemen array pada sumbu teertentu
cdf_normalized = cdf * hist.max() / cdf.max()
untuk melakukan normalisasi
cdf_m = np.ma.masked_equal(cdf, 0)
memasking array yang sama dengan nilai yang diberikan
cdf_m = (cdf_m - cdf_m.min()) * 255 / (cdf_m.max() -
perhitungan
cdf = np.ma.filled(cdf_m, 0).astype('uint8')
untuk mengisi nilai Array dengan nilai Skalar
self.image = cdf[self.image]
mengganti Nilai Array Image menjadi nilai komulatif
self.displayImage(2)
Menampilkan image di windows ke 2
plt.plot(cdf_normalized, color='b')
untuk melakukan floating sesuai Normalisasi
plt.hist(self.image.flatten(), 256, [0, 256], color='r')
untuk membuat histogram dengan Array gambar tersebut
plt.xlim([0, 256])
mengatus batas sumbu x
plt.legend(('cdf', 'histogram'), loc='upper left')
membuat teks di Histogram yang terletak diatas kiri
plt.show()
menampilkan histogram tersebut
-45 Derajat
45 Derajat
-90 Derajat
90 Derajat
180 Derajat
1. Tambahkan event untuk setiap sub menu di menu rotasi dengan memanggil fungsi
pada listing program diatas
2. Jelaskan mengenai fungsi getRotationMatrix2D dan warpAffine
cv2.getRotationMatrix2D
Agar gambar dapat berputar sesuai dengan apa yang kita inginkan melalui perintah
program tersebut, dan untuk mencari matrix transformasi dirotasi 2D
cv2.warpAffine
Pada affine semua garis akan sejajar pada citra asli akan sejajar juga pada citra
keluaraannya
1. Ubah tampilan sistem agar pada menu zoom in dapat memperbesar dengan skala 2x,
3x, 4x dan buatkan event untuk dapat menampilkan citra sesuai skala
self.action2x.triggered.connect(self.ZoomIn2x)
self.action3x.triggered.connect(self.ZoomIn3x())
self.action4x.triggered.connect(self.ZoomIn4x())
2. Ubah tampilan sistem agar pada menu zoom out dapat memperbesar dengan skala 1/2,
1/4, 3/4 dan buatkan event untuk dapat menampilkan citra sesuai skala
self.action0_25.triggered.connect(self.ZoomOutsetengah)
self.action0_50.triggered.connect(self.ZoomOutsatuperempat)
self.action0_75.triggered.connect(self.ZoomOuttigaperempat)