grayscale

27
LAPORAN PRAKTIKUM PENGOLAHAN CITRA DIGITAL DASAR PENGOLAHAN CITRA(2) Oleh : 1 Nama : Hadi Mulya NIM : 1257301055 Kelas : G3.1 DosenPembimbing : Sila Abdulla Syakri,S.T.,M.T.

Upload: hady-mulya

Post on 22-Dec-2015

103 views

Category:

Documents


13 download

DESCRIPTION

Peengolahan Citra Digital

TRANSCRIPT

Page 1: Grayscale

LAPORAN PRAKTIKUM

PENGOLAHAN CITRA DIGITAL

DASAR PENGOLAHAN CITRA(2)

Oleh :

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

TAHUN 2015

1

Nama : Hadi Mulya

NIM : 1257301055

Kelas : G3.1

DosenPembimbing : Sila Abdulla Syakri,S.T.,M.T.

Page 2: Grayscale

LEMBAR PENGESAHAN

No. Praktikum : 03/TI/PCD/G3.1/2015

Judul : Dasar Pengolahan Citra(2)

Nama : Hadi Mulya

NIM : 1257301055

Kelas : G-3

Jurusan : Teknik Elektro

Prodi : Teknik Informatika

Tanggal praktikum : 17 Maret 2015

Tanggal penyerahan : 24 Maret 2015

Nilai :

Buketrata, 24 Maret 2015

Dosen Pembimbing,

Sila Abdulla Syakri,S.T.,M.T.

Page 3: Grayscale

DAFTAR ISI

LEMBAR PENGESAHAN......................................................................................i

DAFTAR ISI............................................................................................................ii

DAFTAR GAMBAR...............................................................................................ii

DAFTAR TABLE..................................................................................................iii

PRAKTIKUM 3 DASAR PENGOLAHAN CITRA(2)..........................................1

3.1 Tujuan........................................................................................................1

3.2 Dasar Teori................................................................................................1

3.2.1 Mengubah Citra Berwarna Menjadi Gray-Scale.....................................1

3.2.2 Thresholding..........................................................................................2

3.3 Tugas Pendahuluan....................................................................................3

3.4 Percobaan..................................................................................................4

3.4.1 Mengubah Citra Berwarna Menjadi Gray-Scale................................4

3.4.2 Thresholding......................................................................................6

3.4.3 Hasil Percobaan..................................................................................7

3.5 Latihan.......................................................................................................8

3.6 Analisa.....................................................................................................10

3.7 Kesimpulan..............................................................................................10

DAFTAR PUSTAKA............................................................................................10

DAFTAR GAMBAR

Page 4: Grayscale

Gambar 3.1. Contoh Dialog Box Untuk Mengkonversi Citra ke Gray....................2

Gambar 3.2. Contoh Thresholding...........................................................................3

Gambar 3.3. Gray-Scale...........................................................................................4

Gambar 3.4. Thresholding.......................................................................................6

Gambar 3.5 Hasil Gray-scale...................................................................................7

Gambar 3.6 Hasil Thresholding...............................................................................8

Gambar 3.7 Hasil dengan nilai gray-scale x=0.5r + 0.2g + 0.3b.............................9

Gambar 3.8 Hasil dengan nilai gray-scale x=0.2r + 0.5g + 0.3b...........................10

Gambar 3.9 Hasil dengan nilai gray-scale x=0.2r + 0.2g + 0.5b...........................10

Gambar 3.10 Hasil dengan nilai gray-scale x=0.5r + 0.5g + 0b............................11

Gambar 3.11 Hasil dengan nilai gray-scale x=0.5r + 0g + 0.5b............................11

Gambar 3.12 Messagebox unuk input dengan scrollbar........................................13

Gambar 3.13 Hasil thresholding............................................................................13

DAFTAR TABLE

Page 5: Grayscale

Tabel 3.1 Tabel Isian Form untuk Gray-Scale........................................................5

Tabel 3.2 Tabel Isian Form untuk Thresholding.....................................................6

Page 6: Grayscale

PRAKTIKUM IIIDASAR PENGOLAHAN CITRA(2)

3.1 Tujuan

1. Mahasiswa dapat membuat program untuk merubah citra warna RGB

menjadi Gray-Scale.

2. Mahasiswa dapat membuat program thresholding atau mengatur jumlah

derajat keabuan yang ada pada citra.

3.2 Dasar Teori

3.2.1 Mengubah Citra Berwarna Menjadi Gray-Scale

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai

kanal pada setiap pixelnya, dengan kata lain nilai bagian warna Red(R) =

Green(G) = Blue(B) (Putra 2010). Nilai tersebut digunakan untuk menunjukkan

tingkat intensitas. Warna yang dimiliki adalah warna hitam, keabuan dan putih.

Tingkat keabuan disini merupakan warnah abu dengan berbagai tingkatan dari

hitam hingga mendekati putih. Citra grayscale memiliki kedalaman warna 8 bit

(256 kombinasi warna keabuan). [1]

Secara umum untuk menghasilkan citra greyscale, konversi dilakukan

dengan mengambil rata-rata dari nilai r, g, dan b, sehingga menghasilkan nilai s

sebagai nilai grey-scale nya. Secara matematis dituliskan sbb:

S= r+g+b3

Pada penjelasan di atas pengubahan citra berwarna menjadi citra grey-scale

adalah dengan mencari nilai rata-rata grey-scale dari setiap layer r, g, dan b.

Beberapa image belum optimal jika diberikan cara di atas, untuk keoptimalan citra

greyscale diperlukan perubahan komposisi pada layer r, g, dan b. [2]

. . . . . . . . . . . . . . . . . . (1)

Page 7: Grayscale

2

Gambar 3.1. Contoh Dialog Box Untuk Mengkonversi Citra ke Gray(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)

3.2.2 Thresholding

Thresholding digunakan untuk mengatur jumlah derajat keabuan yang ada

pada citra. Dengan menggunakan thresholding maka derajat keabuan bisa diubah

sesuai keinginan, misalkan diinginkan menggunakan derajat keabuan 16, maka

tinggal membagi nilai derajat keabuan dengan 16. Proses thresholding ini pada

dasarnya adalah proses pengubahan kuantisasi pada citra, sehingga untuk

melakukan thresholding dengan derajat keabuan dapat digunakan rumus:

x=b .∫( wb

)

dimana :w : nilai derajat keabuan sebelum thresholdingx : nilai derajat keabuan setelah thresholding

b=∫( 256a

)

. . . . . . . . . . . . . . . . . . (2)

. . . . . . . . . . . . . . . . . . (3)

Page 8: Grayscale

3

Berikut ini contoh thresholding mulai di 256, 16, 4 dan 2. [3]

Gambar 3.2. Contoh Thresholding(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)

3.3 Tugas Pendahuluan

1. Menuliskan tujuan praktikum

1. Menjelaskan cara merubah citra berwarna menjadi Gray-Scale

2. Menjelaskan cara mengatur jumlah derajat keabuan pada citra dengan

Thresholding

Jawaban Tugas Pendahuluan

1. Tujuan Praktikum :

Mahasiswa dapat membuat program untuk merubah citra warna RGB

menjadi Gray-Scale.

256 gray-scale 16 gray-scale

4 gray-scale 2 gray-scale

Page 9: Grayscale

4

Mahasiswa dapat membuat program thresholding atau mengatur jumlah

derajat keabuan yang ada pada citra.

2. Cara mengubah citra berwarna menjadi Gray-Scale :

Dilakukan dengan cara mengubah 3 layer (R-layer, G-layer, dan B-layer)

menjadi satu layer matrix gray-scale yang akan menghasilkan derajat keabuan.

Kemudian nilai matrix dari masing-masing R,G,B diubah menjadi citra gray-scale

dengan nilai s, konversinya dilakukan dengan mengambil rata-rata dari nilai

R,G,B.

3. Cara mengatur jumlah derajat keabuan pada citra dengan Thresholding :

Dilakukan dengan mengubah proses kuantisasi pada citra, yaitu dengan

cara membagi nilai derajat keabuan pada gambar/citra asli dengan derajat keabuan

yang diinginkan.

3.4 Percobaan

3.4.1 Mengubah Citra Berwarna Menjadi Gray-Scale

Cara mengubah citra warna menjadi gray-scale

Membuat project baru, dan membuat form seperti gambar berikut ini :

Gambar 3.3. Gray-Scale(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)

Page 10: Grayscale

5

Mengikuti isian tabel berikut:

Tabel 3.1 Tabel Isian Form untuk Gray-Scale

Objek Property NilaiForm Name Threshold  Caption Proses ThresholdPicture1 Picture Nama File Gambar  Autoredraw TRUE  Appereance Flat

Label1 CaptionThreshold Derajat Keabuan

Text1 Text 16Picture2 Appereance FlatCommand1 Caption Threshold

(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)

Pada CommandButton1 mengisikan perintah sebagai berikut:

For i = 1 To Picture1.Width Step 15For j = 1 To Picture2.Height Step 15warna = 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) / 3Picture2.Pset (i,j), RGB(x, x, x)Next jNext i

Pada CommandButton2 mengisikan perintah sebagai berikut:

Unload Me

Program selesai dan menjalankannya

Menyimpan project

3.4.2 Thresholding

Cara mengubah gambar menjadi Thresholding 2 warna

1. Cara mengubah citra warna menjadi gray-scale :

Page 11: Grayscale

6

Membuat project baru, dan membuat form seperti gambar berikut ini :

Gambar 3.4. Thresholding(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)

Mengisikan Property-nya name pada form dengan FormRGB2Gray, dan

mengubah property caption dengan konversi RGB ke GrayScale.

Mengikuti isian table berikut :

Tabel 3.2 Tabel Isian Form untuk Thresholding

Objek Property  Picture1 Picture (Cari Lokasi Gambar)Picture2 - - Label1 Caption Citra AsliLabel2 Caption Hasil RGB to GrayCommand1 Caption CAPTURE CITRACommand2 Caption Selesai

(sumber : Modul Praktikum Pengolahan Citra PENS-ITS)

Pada CommandButton1 mengisikan perintah sebagai berikut:

For i = 1 To Picture1.Width Step 15For j = 1 To Picture2.Height Step 15warna = Picture1.Point(i,j)

Page 12: Grayscale

7

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)y = Text1a = Int(256 / y)x = a * Int(x / a)Picture2.Pset (i,j), RGB(x, x, x)Next jNext i

Pada CommandButton2 mengisikan perintah sebagai berikut:

Unload Me

Program selesai dan menjalankannya

Menyimpan project

3.4.3 Hasil Percobaan

1. Hasil program mengubah citra menjadi gray-scale

Gambar 3.5 Hasil Gray-scale

Page 13: Grayscale

8

2. Hasil program Thresholding

Gambar 3.6 Hasil Thresholding

3.5 Latihan

1. Menyebutkan proses utama pada proses konversi citra berwarna menjadi citra

gray- scale. Perbedaan antara pemakaian rumus rata-rata s = (r + g + b) / 3

dan rumus RGB optimal x = 0.42r + 0.32g + 0.28b.

Jawaban:

Untuk mengubah citra berwarna yang mempunyai nilai matrik masing-masing

r, g dan b menjadi citra grayscale dengan nilai s, maka konversi dapat

dilakukan dengan mengambil rata-rata dari nilai r, g dan b sehingga dapat

dituliskan menjadi:

s= r+g+b3

rumus rata-rata s = (r + g + b) / 3 digunakan untuk mengubah warna sebuah

citra menjadi tingkat abu-abu, sedangkan rumus RGB optimal x = 0.42r + 0.32

+ 0.28b digunakan untuk mengubah derajat keabuan sebuah citra.

2. Mengubah program konversi citra berwarna menjadi citra gray scale di atas

dengan mengubah nilai gray scale dengan :

..................................(4)

Page 14: Grayscale

9

Kode program membuat program gray-scale di vb .net

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i, j, x As Integer Dim r, g, b As Integer Dim gambar = New Bitmap(PictureBox1.Image) Dim gambar2 As Bitmap = New Bitmap(PictureBox1.Image)

For i = gambar.Width - 1 To 0 Step -1 For j = gambar.Height - 1 To 0 Step -1 r = gambar.GetPixel(i, j).R g = gambar.GetPixel(i, j).G b = gambar.GetPixel(i, j).B x = ((0.2 * r + 0.5 * g + 0.3 * b))

gambar2.SetPixel(i, j, Color.FromArgb(x, x, x)) Next PictureBox2.Refresh() PictureBox2.Image = gambar2 Next End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End SubEnd Class

x = 0.5r + 0.2g + 0.3b

Gambar 3.7 Hasil dengan nilai gray-scale x=0.5r + 0.2g + 0.3b

Page 15: Grayscale

10

x = 0.2r + 0.5g + 0.3b

Gambar 3.8 Hasil dengan nilai gray-scale x=0.2r + 0.5g + 0.3b

x = 0.2r + 0.2g + 0.5b

Gambar 3.9 Hasil dengan nilai gray-scale x=0.2r + 0.2g + 0.5b

x = 0.5r + 0.5g + 0b

Page 16: Grayscale

11

Gambar 3.10 Hasil dengan nilai gray-scale x=0.5r + 0.5g + 0b

x = 0.5r + 0g + 0.5b

Gambar 3.11 Hasil dengan nilai gray-scale x=0.5r + 0g + 0.5b

Warna keabu-abuan pada citra berubah tiap kali nilai grayscalenya diganti.

Citra terlihat lebih gelap apabila nilai r dikecilkan dan nilai r, b dibesarkan,

seperti hasil yang terlihat pada gambar 3.7.

Page 17: Grayscale

12

3. Membuat program menggunakan dialog box untuk mengubah-ubah nilai

thresholding melalui slider, dan memperhatikan hasilnya.

Kode program membuat program gray-scale di vb .net

Public Class Form1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Input nilai Thresholding dengan silinder") End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i, j, x, xt, y, a As Integer Dim r, g, b As Integer Dim gambar = New Bitmap(PictureBox1.Image) Dim gambar2 As Bitmap = New Bitmap(PictureBox1.Image)

For i = gambar.Width - 1 To 0 Step -1 For j = gambar.Height - 1 To 0 Step -1 r = gambar.GetPixel(i, j).R g = gambar.GetPixel(i, j).G b = gambar.GetPixel(i, j).B

x = (0.42 * r + 0.32 * g + 0.28 * b) y = TextBox1.Text a = Int(256 / y) xt = a * Int(x / a) gambar2.SetPixel(i, j, Color.FromArgb(xt, xt, xt)) Next PictureBox2.Refresh() PictureBox2.Image = gambar2 Next End Sub

Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll TextBox1.Text = HScrollBar1.Value End SubEnd Class

Page 18: Grayscale

13

- Hasil eksekusi program

Gambar 3.12 Messagebox unuk input dengan scrollbar

Gambar 3.13 Hasil thresholding

4. Pengertian dari thresholding, dan prosesnya adalah :

Jawaban:

Thresholding merupakan salah satu teknik segmentasi yang baik digunakan

untuk citra dengan perbedaan nilai intensitas yang signifikan antara latar

belakang dan objek utama (Katz,2000).

Proses thresholding ini pada dasarnya adalah proses pengubahan kuantisasi

pada citra, sehingga untuk melakukan thresholding dengan derajat keabuan

dapat digunakan rumus:

x=b .∫( wb ) ..................................(5)

Page 19: Grayscale

14

3.6 Analisa1. Analisa program

For i = 1 To Picture1.Width Step 15

For j = 1 To Picture1.Height Step 15

→ Berfungsi untuk menghitung pixel horizontal i sebanyak 15 kali dan

menghitung pixel vertikal j sebanyak 15 kali. Bila nilai dari step diubah lebih

besar maka tingkat kerapatan dari hasil gambar akan berkurang, sedangankan

sebaliknya bila nilainya lebih kecil dari 15 dan waktu untuk mengubahnya pun

lebih lama.

r = warna And RGB(255, 0, 0)

→ untuk mengeset warna pada kanal merah menjadi bernilai 255

g = Int((warna And RGB(0, 255, 0)) / 256)

b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256)

→ berfungsi untuk mengambil warna RGB dari gambar

x = (r + g + b) / 3→ rumus dari gray-scale

Picture2.PSet (i, j), RGB(x, x, x) → berfungsi untuk mengeset Picture2 ke gray-scale Next j

Next i→ Berfungsi untuk menutup perulangan j dan i y = Text1

→ inputan objek y dari komponen text1, inputan ini untuk menetukan nilai thresholding oleh user a = Int(256 / y)→ menetukan nilai derajat keabuan x = a * Int(x / a)

→ menetukan nilai derajat keabuan setelah thresholding

Analisa Sistem

Percobaan 1Pada percobaan 1 bertujuan untuk mengubah citra pada

PictureBox1menjadi gray-scale.

Page 20: Grayscale

15

Percobaan 2 Pada percobaan 2 bertujuan untuk menangkap citra dengan Picture Box.

Gambar di tampilkan sesuai dengan width dan height pada Picture1 sebanyak 15 kali dan mengambil warna RGB sesuai dengan picture1, kemudian akan menset warna RGB sesuai dengan width dan height picture1 ke Picture2. Seperti kode programnya

Private Sub Command1_Click() 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)o g = Int((warna And RGB(0, 255, 0)) / 256)o b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) Picture2.PSet (i, j), RGB(r, g, b) Next j Next i End Sub

Latihan 1 Pada latihan 1 bertujuan untuk mengubah warna 3 buah picture-box dengan

tiga macam nilai RGB dengan masing-masing nilai 0-255 dan picturebox ke-4 bernilai RGB yang merupakan kombinasi nilai-nilai R,G,B.

Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll

TextBox1.Text = HScrollBar1.Value PictureBox1.BackColor = Color.FromArgb(CInt(TextBox1.Text), 0, 0)o End Sub

Program kode diatas untuk memberikan nilai warna RED. Perintah

Cint akan mengkonversi nilai bertipe integer yang diinputkan

dari Hscroll ke warna dengan Rangenya adalah 0 -255, pada

Hscroll1 ini dengan range warna 255,0,0 dan diset menjadi

backColor pada PictureBox1. Begitupula untuk Hscroll2

dengan range warna 255,0,255 , Hscroll3 dengan range

warna 0,0,255. Nilai yang diinput pada Hscroll1 disimpan dan

ditampilkan pada TextBox1

Page 21: Grayscale

16

PictureBox4.BackColor = Color.FromArgb(CInt(TextBox1.Text),

CInt(TextBox2.Text), CInt(TextBox3.Text))

Pada PictureBox4 akan menampilakn campuran warna dari

PictureBox1, PictureBox2,dan PictureBox3 (Red,Green dan

Blue).

Latihan 2 Pada latihan 2 bertujuan untuk memutar picture

3.7 Kesimpulan

DAFTAR PUSTAKA

Jobsheet, Praktikum3 : Dasar Pengolahan Citra(2)

Team Penyusun Modul Visual Basic. 2006. Modul Praktek Laboratorium Komputer. Visual Basic Version 6.0. Jakarta : Bima Sarana Informatika

Hendra,ST. 2011. Pemrograman GDI+ pada VB.NET.pdf