LEMBAR PENGESAHAN
No. Praktikum
: 05/TI/PCD/H3.1/2016 05/TI/PCD/H3.1/2016
Judul
: BRIGHTNESS
Nama
:
NIM
: 1357301006
Kelas
: H3.1
Jurusan
: Teknik Informasi & Komputer
Prodi
: Teknik Informatika
Tanggal penyerahan
: 30 Mei 2016
Nilai
:
Molita Sari
Buketrata, 30 Mei 2016 Dosen Pembimbing,
Muliyadi, M, Eng
DAFTAR ISI
i
LEMBAR PENGESAHAN ................................................................................... i DAFTAR ISI ........................................................................................................... i DAFTAR GAMBAR ................................................ Error! Bookmark not defined. PRAKTIKUM 05 PERBAIKAN CITRA ( ENHANCEMENT 1 ) ................. 1 5.1.
TUJUAN.................................................................................................. 1
5.2.
DASAR TEORI ...................................................................................... 1
5.2.1.
Brighness.......................................................................................... 1
5.2.2.
Histogram ........................................................................................ 2
5.3.
Tugas Pendahuluan ................................................................................ 3
5.4.
PERCOBAAN......................................................................................... 4
5.4.1.
Percobaan Brightness dengan VB.60 ............................................ 4
5.5.
LATIHAN ............................................................................................... 8
5.6.
Hasil Latihan.............................................. Error! Bookmark not defined.
5.6.1.
Hasil latihan1h.................................... Error! Bookmark not defined.
5.6.2. Hasil Latihan2 Brighness dan Histogram RGB. . Error! Bookmark not defined. 5.7.
ANALISA .............................................................................................. 10
5.7.1.
Percobaan1 .................................................................................... 12
5.7.2.
LATIHAN ...................................................................................... 13
5.8.
KESIMPULAN..................................................................................... 14
DAFTAR PUSTAKA .......................................................................................... 15
ii
PRAKTIKUM 05 PERBAIKAN CITRA ( ENHANCEMENT 1 )
5.1.
TUJUAN
Mahasiswa dapat membuat program untuk menampilkan citra biner
Mahasiswa dapat membuat program untuk menampilkan histogram dari citra.
5.2.
DASAR TEORI
5.2.1. Brighness Kecerahan/kecermelangan gambar dapat diperbaiki dengan menambahkan atau mengurangkan sebuah konstanta kepada atau dari setiap pixel didalam citra. Nilai pixel hasil pengubahan mungkin lebih kecil atau sama dengan derajat keabuan minimum (0) atau lebih besar sama dengan derajat keabuan maksimum. Karena itu, pixel tersebut perlu dilakukan clipping ke nilai keabuan minimum atau ke nilai keabuan maximum (Munir, 2004) Brighness adalah proses penambahan kecerahan dari nilai derajat keabuan. Proses brightness ini dilakukan dengan menambahkan nilai derajat keabuan dengan suatu nilai penambah. xb = x + b ket : x = adalah nilai derajat keabuan b = nilai penambah xb = hasil brightness Image Brightness (pencerahan gambar)adalah suatu teknik untuk membuat citra menjadi lebih terang atau lebih gelap. Kecerahan/kecermelangan gambar dapat dilakukan dengan cara menambahkan(atau mengurangkan) sebuah konstanta dari setiap pixel di dalam citra. Proses Image Brightness menyebabkan histogram dari citra tersebut mengalami perubahan. Secara matematis proses Image brightness ditulis sebagai : *f(x,y)'=f(x,y)+b
1
Jika b>0, maka kecerahan gambar bertambah, sebaliknya jika b<0 kecerahan gambar berkurang. Nilai pixel hasil pengolahan mungkin kurang dari sama dengan derajat keabuan minimum (0) atau lebih dari sama dengan derajat keabuan maksimum (255). Karena itu,pixel tersebut perlu dilakukan clipping ke nilai keabuan minimum atau ke nilai keabuan maksimum. 5.2.2. Histogram
Histogram adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas piksel dari suatu gambar atau bagian tertentu didalam gambar (Munir,2004).
Berdasarkan
sebuah
histogram
dapat
diketahui
frekuensi
kemunculan relatif dari intensitas pada citra. selain itu, informasi mengenai tingkat kecerahan (brightness) dan kontras (contrast ) dapat diketahui melalui histogram. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas piksel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram dapat diketahui frekuensi kemunculan nisbi (relatif) dari intensitas pada citra tersebut. Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah citra. Karena itu, histogram adalah alat bantu yang berharga dalam pekerjaan pengolahan citra baik secara kualitatif maupun kuantitatif.( Sigit, 2005) Secara sederhana histogram citra dihitung dengan cara berikut yang menunjukkan frekuensi citra h i = ni dengan ni adalah jumlah piksel dari setiap derajat intensitas yang digunakan dalam citra ybs, tetapi ini tidak normal. Histogram yang normal memiliki rentang dari 0..1 untuk setiap frekuensi derajat intensitas, sehingga secara matematis dapat dihitung sebagai berikut:
n i = jumlah piksel yang memiliki derajat keabuan i n = jumlah seluruh piksel di dalam citra Banyak sekali proses pengolahan citra yang melibatkan distribusi data, seperti pada contoh konversi biner diatas. Bahkan dalam image enhancement (perbaikan citra), distribusi dari nilai derajat keabuan pada citra menjadi suatu
2
acuan dasar. Untuk menyatakan distribusi data dari nilai derajat keabuan ini dapat digunakan nilai histogram. Histogram adalah suatu fungsi yang menyatakan jumlah kemunculan dari setiap nilai. Misalkan diketahui data sebagai berikut : x=132530212423 Maka histogramnya adalah munculnya setiap nilai, yaitu 0 muncul 1 kali, nilai 1 muncul 2 kali, nilai 2 muncul 4 kali, nilai 3 muncul 3 kali, nilai 4 muncul 1 kali, dan nilai 5 muncul 1 kali. Karena citra mempunyai derajat keabuan 256 yaitu (0-255), maka histogram menyatakan jumlah kemunculan setiap nilai 0-255. Contoh histogram
gambar 1. Contoh Histogram
(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)
5.3.
Tugas Pendahuluan
1. Menuliskan tujuan praktikum 2. Menjelaskan cara mengubah citra menjadi cerah 3. Menjelaskan cara mengubah citra menggunakan brightness kondisi positif dan negatif
Jawaban Tugas Pendahuluan
1.
Tujuan Praktikum
Mahasiswa dapat Mahasiswa dapat membuat program untuk memperjelas Citra(Brightness)
Mahasiswa dapat membuat program untuk mengubah Brighness dengan posisi negative dan positif.
3
2.
Cara mengubah citra menjadi cerah : Dapat dilakukan dengan cara menambahkan nilai derajat keabuan dengan suatu nilai penambah, dan dapat dituliskan : xb = x + b Dimana :
x = nilai derajat keabuan b = nilai penambah xb = hasil brightness
3.
Cara mengubah citra menggunakan brightness kondisi positif dan negative : Untuk mengubah citra ke kondisi positif, maka nilai penambahannya harus diperbesar. Dan sebaliknya, untuk mengubah ke kondisi negative maka nilai penambahannya harus diperkecil.
5.4.
PERCOBAAN
5.4.1. Percobaan Brightness dengan VB.60 Membuat project baru.
Mendesign form pada vb.net sebagai berikut.
gambar 2. design form percobaan brighness dan histogram
4
Mengisi property pada setiap objek dan form sebagai berikut :
Objek Form
Property Name Caption Picture1 Picture Appereance Picture2 Appereance Picture3 Appereance Picture4 Appereance Command1 Caption Command2 Caption Hscroll1 Min Max Value Tabel 4.1 Tabel Isian
Nilai Brightness Brightness Nama File Gambar Flat Flat Flat Flat Brightness Brightness 0 255 0 Form untuk Biner
(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)
Pada button brightness mengisi program sebagai berikut.
Picture1.PaintPicture Picture1.Picture, 0, 0, _ Picture1.ScaleWidth, Picture1.ScaleHeight Picture2.Refresh Picture2.Cls Dim h(256) As Integer bg = Val(HScroll1) If bg < 0 Then bg = 0 For i = 1 To Picture1.Width Step 15 For j = 1 To Picture1.Height Step 15 warna = Picture1.Point(i, j) R = warna And RGB(255, 0, 0) g = Int((warna And RGB(0, 255, 0)) / 256) b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) x = ((R + g + b) / 3) xb = x + bg Picture1.PSet (i, j), RGB(x, x, x) Picture2.PSet (i, j), RGB(xb, xb, xb)
5
Next j Next i
Pada Button histogram mengisi program sebagai berikut. Picture3.Cls Picture4.Cls Dim h(256), h1(256) As Integer For i = 1 To 256 h(i) = 0: h1(i) = 0 Next i For i = 1 To Picture1.Width Step 15 For j = 1 To Picture1.Height Step 15 warna = Picture1.Point(i, j) R = warna And RGB(255, 0, 0) g = Int((warna And RGB(0, 255, 0)) / 256) b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) x = ((R + g + b) / 3) h(x + 1) = h(x + 1) + 1 Next j Next i For i = 1 To Picture2.Width Step 15 For j = 1 To Picture2.Height Step 15 warna2 = Picture2.Point(i, j) R = warna2 And RGB(255, 0, 0) g = Int((warna2 And RGB(0, 255, 0)) / 256) b = Int(Int((warna2 And RGB(0, 0, 255)) / 256) / 256) x = ((R + g + b) / 3) h(x + 1) = h(x + 1) + 1 Next j Next i ht2 = Picture1.Height - 150 wp3 = Picture3.Width
6
wp4 = Picture4.Width Picture3.Line (0, ht2)-(wp3, ht2), RGB(0, 0, 255) Picture4.Line (0, ht2)-(wp4, ht2), RGB(0, 0, 255) For i = 1 To 256 xp = 15 * (i - 1) + 1 Picture3.Line (xp, ht2 - h(i))-(xp, ht2), RGB(255, 0, 0) Picture4.Line (xp, ht2 - h(i))-(xp, ht2), RGB(255, 0, 0) Next i
Pada Command Button3 mengisi program berikut. Private Sub Command2_Click() Unload Me End Sub
Pada HScroll1 untuk mengatur besar dan kecilnya brightness maka mengisi program berikut Private Sub HScroll1_Change() Rval = Me.HScroll1.Value Me.Label1.Caption = Me.HScroll1.Value End Sub
Menyimpan form dengan nama CitraBiner Hasil Program sebagai beikut.
gambar 3. Hasil Breghtness dan Histogram dengan hscroll 0
7
gambar 4. Hasil Breghtness dan Histogram dengan hscroll 12 7
5.5.
LATIHAN
5.5.1. Mengubah program dengan konstras positif dan negative dengan hscroll1 dengan min -127 dan max 127 . Serta membuat histogram.
Membuat project baru pada VB.Net
Merancang Form pada vb.Net sebagai Berikut:
gambar 5. design form brightness dan histogram dan hscroll pada vb.net
8
Dim nilaiBrightness As Integer nilaiBrightness = Int(TextBox1.Text) Dim i, j As Integer Dim gambar As New Bitmap(PictureBox1.Image) PictureBox2.Image = gambar Dim gambar2 As New Bitmap(PictureBox1.Image) PictureBox1.Image = gambar2 Dim r, g, b As Integer Dim x, xb As Double For i = 0 To gambar.Width - 1 For j = 0 To gambar.Height - 1 r = gambar.GetPixel(i, j).R g = gambar.GetPixel(i, j).G b = gambar.GetPixel(i, j).B x = ((r + g + b) / 3) gambar2.SetPixel(i, j, Color.FromArgb(x, x, x)) xb = (x + nilaiBrightness) If (xb > 255) Then xb = 255 ElseIf (xb < 0) Then xb = 0 End If gambar.SetPixel(i, j, Color.FromArgb(xb, xb, xb)) Next j Next i
Pada commendButton histogram mengisi program berikut.
ReDim histogramValues(256) Dim bmp As New Bitmap(PictureBox1.Image, PictureBox1.Width, PictureBox1.Height) Dim bmp2 As New Bitmap(PictureBox2.Image, PictureBox2.Width, PictureBox2.Height) PictureBox1.DrawToBitmap(bmp, PictureBox1.ClientRectangle) PictureBox2.DrawToBitmap(bmp2, PictureBox2.ClientRectangle) PictureBox1.Image = bmp PictureBox2.Image = bmp2 For y As Integer = 0 To bmp.Height - 1 For x As Integer = 0 To bmp.Width - 1 Dim r As Integer = bmp.GetPixel(x, y).R Dim g As Integer = bmp.GetPixel(x, y).G Dim b As Integer = bmp.GetPixel(x, y).B Dim Rumus As Single = ((r + g + b) / 3) histogramValues(Rumus + 1) = histogramValues(Rumus + 1) + 1 bmp.SetPixel(x, y, Color.FromArgb(Rumus, Rumus, Rumus)) Next Next PictureBox3.Invalidate() For y As Integer = 0 To bmp2.Height - 1 For x As Integer = 0 To bmp2.Width - 1 Dim r As Integer = bmp2.GetPixel(x, y).R Dim g As Integer = bmp2.GetPixel(x, y).G Dim b As Integer = bmp2.GetPixel(x, y).B Dim Rumus As Single = (r + g + b) / 3 histogramValuesB(Rumus + 1) = histogramValuesB(Rumus + 1) + 1 bmp2.SetPixel(x, y, Color.FromArgb(Rumus, Rumus, Rumus))
9
Next Next PictureBox4.Invalidate()
Pada hscrollbar1 mengisi program program beikut. TextBox1.Text = HScrollBar1.Value
Pada picturebox3 mengisi program sebagai berikut. If histogramValuesB.Max <= 0 Then Exit Sub Dim h As Integer = PictureBox4.ClientSize.Height For i As Integer = 0 To 255 Step 2 Dim barHeight As Integer = _ CInt(h * _ histogramValuesB(i) / _ histogramValuesB.Max) Dim x As Integer = (PictureBox4.ClientSize.Width * i) \ 256 Using pn As New Pen(Brushes.Black, 2) e.Graphics.DrawLine(pn, x, h - barHeight, x, h) End Using Next
Menjalankan program atau menekan F5. Output Program :
gambar 6. Hasil Brightness dan Histogram dengan hscroll 1 27
10
gambar 7. Hasil Brightness dan Histogram dengan hscroll -127
Jawaban Tugas : 2. Menjelaskan perbedaan antara kondisi negative dan positif. Kalau pada kondisi negative, proses brightness akan menghasilkan citra yang berwarna abu-abu / cenderung hitam dan hasil histogram akan dipotong pada bagian akhirnya. Sebaliknya, pada citra positif yang menggunakan proses brightness akan menghasilkan citra yang samar-samar / cenderung berwarna putih dan hasil histogram akan dipotong pada bagian awalnya.
11
5.6.
ANALISA
5.6.1. Percobaan1 5.6.1.1. Analisa Sistem Pada percobaan ini, output yang dihasilkan dari program yang telah dibuat adalah bisa membuat sebuah objek atau gambar yang masukkan menjadi lebih cerah dan lebih gelap dengan menggunakan fungsi button/ tombol brightness, dan juga bisa menampilkan histogram dari gambar asli dan gambar yang telah dirubah tingkat kecerahannya dengan fungsi tombol histogram. Ketika tombol Brightness di tekan maka program akan berubah menjadi lebih cerah/ gelap, hal ini bisa terjadi karena telah dideklarasikan sebuah rumus sesuai dengan teori diatas yaitu xb = x + b, dimana untuk x dari hasil scroll yang telah didefinisikan dari 0-255 pada property HSsroll1.
5.6.1.2. Analisa Program. Menganasial rumus RGB deimana x = (r + g + b) / 3 variabel x dengan nilai dari penjumlahan variabel r,g, b dan akan dibagi 3,
mendeklarasikan variabel xb dimana merupakan hasil penjumlahan variabel x dan variabel bg dapat ditulis xb = x + bg
For i = 1 To Picture1.Width Step 15 program tersebut yaitu membuat perulangan untuk lebar picture box 1 dengan kecepatan 15 pixel per perulangan begitu juga For j = 1 To Picture2.Height Step 15 yang akan melakukan perulangan untuk panjang picture box 1 dengan kecepatan 15 pixel per perulangan
warna = Picture1.Point(i, j) program tersebut akan menginisialisasi variabel warna yang mengatur picture box 1 dan terdiri dari i dan j
r = warna And RGB(255, 0, 0) adalah r hasil dari operasi and variabel warna dengan niali Red = 255 begitu juga dengan b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256): menginisialisasi variabel b variable warna dengan nilai biru=255 akan dibagi dengan 256 dan dibagi lagi dengan 256
h(i) = 0: h1(i) = 0 untuk menginisialisasi variabel h terhadap titik i bernilai 0 dan variabel h1 terhadap titik i bernilai 0
12
5.6.2. LATIHAN
Dari hasil latihan diatas dapat dinalisakan. Dim i, j, x As Integer akan memberikan inisialisasi pada objek i, j, x yang
bernilai integer kemudia Dim r, g, b As Integer akan memberikan inisialisasi pada objek r, g, b yang bernilai integer
Dim gambar = New Bitmap(PictureBox1.Image) program tersebut yang akan membuat format gambar baru pada gambar di PictureBox1.
Kemudian
pada
program
Dim
gambar2
As
Bitmap
=
New
Bitmap(PictureBox1.Image) suatu tempat untuk meletakan format gambar baru pada gambar di PictureBox1 kemudian dibuat oleh picturebox1.
kemudian mengambil nilai pixel i,j dari warna RGB dari gambar dimana pada program r = gambar.GetPixel(i, j).R, yaitu nilai pixel I dan j untuk warna merah. Dan seterusnya.
h(x + 1) = h(x + 1) + 1, yaitu : Rumus dari brightness(kecerahan) pada citra. Artinya, jika 1 positif, kecerahan gambar bertambah, sebaliknya jika 1 negatif kecerahan gambar berkurang.
If (xB > 255) Then xB = 255
End If
If (xB < 0) Then xB = 0 End If Program tersebut adalah program dimana nilai batas minimum dan maksimum, jika xb lebih besar dari 255 maka xb adalah 255 and if adalah mengakhiri perintah if kemudian dan jika cb lebih kecil dari 0 maka x b adalah sama dengan 0
13
5.7. -
KESIMPULAN Dari hasil analisa dan latihan diatas dapat disimpulkan, Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas piksel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram dapat diketahui frekuensi kemunculan nisbi (relatif) dari intensitas pada citra tersebut. Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah citra. Karena itu, histogram adalah alat bantu yang berharga dalam pekerjaan pengolahan citra baik secara kualitatif maupun kuantitatif.
-
Dapat disimpulkan juga suatu brightness Jika b>0, maka kecerahan gambar bertambah, sebaliknya jika b<0 kecerahan gambar berkurang. Nilai pixel hasil pengolahan mungkin kurang dari sama dengan derajat keabuan minimum (0) atau lebih dari sama dengan derajat keabuan maksimum (255). Karena itu,pixel tersebut perlu dilakukan clipping ke nilai keabuan minimum atau ke nilai keabuan maksimum.
14
DAFTAR PUSTAKA
Munir R, Pengolahan Citra Digital dengan pendekatan algoritma, penerbit informatika bandung, 2004. Sigit, Riyanto dkk. 2005. Step By Step Pengolahan Citra Digital . Yogyakarta : Penerbit Andi.
15