grayscale
DESCRIPTION
Peengolahan Citra DigitalTRANSCRIPT
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.
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.
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
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
Tabel 3.1 Tabel Isian Form untuk Gray-Scale........................................................5
Tabel 3.2 Tabel Isian Form untuk Thresholding.....................................................6
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)
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)
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
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)
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 :
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)
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
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)
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
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
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.
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
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)
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.
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
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