NAMA : ESTRIANI
NIM : 200534627641
PRODI : PENDIDIKAN TEKNIK ELEKTRO
MATKUL : SENSOR DAN TRANDUSER
Contrast Stretching Menggunakan Python
Flowchart Program
Mulai
Declaration
var_gambar
var_hasil1
var_a
var_b
var_c
var_hasil2
var_gambarhasil
Import [Link]
Input:
var_gambar
Konversi ke grayscale:
var_gambar= var_gambar.convert to
grayscale,
Konversi ke array
Var_hasil1= var_gambar.Convert to array,
Temukan nilai High dan Low Pixel
var_b = var_hasil1.max()
var_a = var_hasil1.min()
Konversi nilai Array sebagai integer
var_c = var_hasil1.astype(int)
Operasi Auto Contrast
var_hasil2 = (var_c-var_a)*255/(var_b-
var_a)
Konversi Array ke Image
var_gambar_hasil =
[Link](var_hasil2)
Simpan Image Hasil Contrast
var_gambar_hasil.save
print:
var_hasil1,var_
a,var_b,var_c,v
ar_hasil2
Berhenti
Source code
import [Link]
from [Link] import Image
#membuka image baru dan mengkonversinya ke Grayscale
var_gambar = [Link]("D:/TugasPCD1/[Link]").convert('L')
#Konversi ke Array
var_hasil1 = [Link](var_gambar)
#Perlihatkan Nilai Array
#temukan nilai maksimun dan minimun pixel
#Nilai Maksimal Pixel
var_b = var_hasil1.max()
#Nilai Minimum pada Pixel
var_a = var_hasil1.min()
#konversi hasil1 ke int
var_c = var_hasil1.astype(int)
#transformasi Contrast Stretching
var_hasil2 = (var_c-var_a)*255/(var_b-var_a)
#konversi dari Array ke Image
var_gambar_hasil = [Link](var_hasil2)
var_gambar_hasil.save("D:/TugasPCD1/[Link]")
print ("nilai hasil1",var_hasil1)
print ("nilai pixel minimum adalah:",var_a)
print ("nilai pixel maximal adalah:",var_b)
print ('nilai c adalah:',var_c)
print (var_hasil2)
Hasil program
A. Program dan nilai yang muncul pada layar
1. Image A
B. Hasil Pengolahan Contrast Stretching
No Image Masukan Image Keluaran
1.
(A) (B)
Gambar 1.1: Hasil eksperimen menggunakan program contrast stretching. (a). Image masukan berupa
citra objek berupa titik-titik lingkaran. (b). Contrast Stretching dari image E.
Pembahasan
A. Metode
Metode yang digunakan untuk pembuatan program ini adalah
berdasarkan pada “Automatic Contrast Adjustment”. Automatic Contrast
Adjustment disebut juga auto-contrast. Metode ini merupakan metode yang
memetakan nilai-nilai pixel yang memiliki tingkat kecerahan mulai dari
yang tergelap sampai yang tercerah kemudian memodifikasi nilai-nilainya.
Nilai pixel tertinggi dan terendah dari pixel akan dianggap sebagai alow dan
a high yang mana memiliki intensitas [amin,amax]. Untuk melakukan
peregangan pada citra menjadi range dengan intensitas penuh (gambar 2.1),
maka terlebih dahulu dilakukan pengubahan nilai dari alow menjadi nol,
setelah contrast ditingkatkan dengan factor (amax-amin)/(ahigh-alow),
kemudian pada target range tambahkan nilai amin. Operasi tersebut dapat
didefinisikan sebagai
𝑎𝑚𝑎𝑥 − 𝑎𝑚𝑖𝑛
𝑓𝑎𝑐 (𝑎) = 𝑎𝑚𝑖𝑛 + (𝑎 − 𝑎𝑙𝑜𝑤 ).
𝑎ℎ𝑖𝑔ℎ − 𝑎𝑙𝑜𝑤
Melalui penyajian bahwa 𝑎ℎ𝑖𝑔ℎ tidak sama dengan 𝑎𝑙𝑜𝑤 pada citra
yang memuat paling sedikit dua nilai pixel yang berbeda. Pada citra 8-bit
dengan 𝑎𝑚𝑖𝑛 = 0 dan 𝑎𝑚𝑎𝑥 = 255, fungsi diatas dapat disederhanakan
menjadi:
255
𝑓𝑎𝑐 (𝑎) = (𝑎 − 𝑎𝑙𝑜𝑤 ).
𝑎ℎ𝑖𝑔ℎ − 𝑎𝑙𝑜𝑤
B. Lisiting Program
Program yang dibuat oleh penulis merupakan program yang
menggunakan bahasa pemrograman python dengan versi 2.7. Program ini
menggunakan dua library pada python untuk membuatnya bekerja secara
efektif. Library tersebut adalah library numpy dan library scipy. Untuk
lebih detailnya akan penulis jabarkan satu persatu dibawah ini:
1. import [Link]
listing baris ke 1 adalah listing yang digunakan untuk memuat library scipy, library ini
digunakan untuk:
a. membuka image ke dalam lingkungan pemrograman python.
b. Mengkonversi gambar menjadi array
c. Melihat nilai range pixel dalam gambar yang ditampilkan dalam larik array.
d. Melihat nilai 𝑎ℎ𝑖𝑔ℎ dan 𝑎𝑙𝑜𝑤 dari citra.
e. Melakukan transformasi contrast stretching
f. Menyimpan hasil transformasi menjadi citra baru.
2. From [Link] import Image
Listing ini terdapat pada baris kedua, digunakan untuk memuat komponen
Image yang terdapat pada library scipy, komponen ini digunakan untuk
membuka gambar yang akan dilakukan transformasi contrast
3. var_gambar = [Link]("D:/TugasPCD1/[Link]").convert('L')
var_gambar merupakan variabel untuk menyimpan nilai image [Link] yang nantinya
akan berbentuk matrix dengan nilai pixel.
[Link] merupakan perintah untuk membuka file citra yang terdapat dalam folder
“D:/TugasPCD1/[Link]”, kemudian perintah convert(‘L’) merupakan perintah untuk
mengkonversi citra masukan menjadi berformat grayscale.
4. var_hasil1 = [Link](var_gambar)
variabel var_hasil merupakan variabel yang digunakan untuk menyimpan nilai
matrix dari var_gambar. Perintah [Link](var_gambar) adalah perintah
mengubah isi var_gambar menjadi matrix.
5. var_b = var_hasil1.max()
var_b merupakan variabel yang digunakan untuk menyimpan nilai 𝑎ℎ𝑖𝑔ℎ yang
didapatkan dari variabel var_hasil. Sedangkan perintah var_hasil.max()
adalah perintah untuk mencari nilai 𝑎ℎ𝑖𝑔ℎ dari variabel var_hasil.
6. var_a = var_hasil1.min()
var_a merupakan variabel yang digunakan untuk menyimpan nilai 𝑎𝑙𝑜𝑤 yang
didapatkan dari variabel var_hasil. Sedangkan perintah var_hasil.min()
adalah perintah untuk mencari niali 𝑎𝑙𝑜𝑤 dari variabel var_hasil.
7. var_c = var_hasil1.astype(int)
var_c merupakan variabel yang digunakan untuk menyimpan nilai dari var_hasil1
yang telah diubah formatnya ke format integer. Sedangkan perintah
var_hasil.astype(int) adalah perintah untuk mengubah nilai pada var_hasil1 sebagai
tipe integer.
8. var_hasil2 = (var_c-var_a)*255/(var_b-var_a)
var_hasil2 adalah variabel yang digunakan untuk menyimpan hasil dari operasi
contrast stretching. Hal tersebut menggunakan seperti rumus pada diatas yaitu:
255
𝑓𝑎𝑐 (𝑎) = (𝑎 − 𝑎𝑙𝑜𝑤 ).
𝑎ℎ𝑖𝑔ℎ − 𝑎𝑙𝑜𝑤
Dimana 𝑎 adalah nilai matrix ada var_hasil1 yang telah diubah menjadi
integer kemudian nilai tersebut dikurangkan dengan 𝑎𝑙𝑜𝑤 yang terdapat pada
variabel var_a, dan dikalikan dengan 255 dibagi dengan var_b dikurangi
var_a.
9. var_gambar_hasil = [Link](var_hasil2)
var_gambar_hasil adalah variabel dari hasil array yang telah dilakukan operasi
contrast stretching. Perintah [Link](var_hasil2) adalah perintah untuk
menyimpan array yang telah ditransformasi ke dalam variabel var_gambar_hasil.
10. var_gambar_hasil.save("D:/TugasPCD1/[Link]")
var_gambar_hasil.save adalah perintah untuk menyimpan image tersebut kedalam
folder “D:/TugasPCD1/[Link]”
11. print ("nilai hasil1",var_hasil1)
print ("nilai pixel minimum adalah:",var_a)
print ("nilai pixel maximal adalah:",var_b)
print ('nilai c adalah:',var_c)
print (var_hasil2)
perintah print diatas adalah perintah untuk mencetak nilai variabel var_hasil1,
kemudian variabel var_a, var_b, var_c serta variabel var_hasil2