• Tidak ada hasil yang ditemukan

PENGOLAHAN CITRA Ch.3 M E N G O L A H C I T R A M E N J A D I G R A Y S C A L E Bayu Pratama RN [ ]

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGOLAHAN CITRA Ch.3 M E N G O L A H C I T R A M E N J A D I G R A Y S C A L E Bayu Pratama RN [ ]"

Copied!
11
0
0

Teks penuh

(1)

PENGOLAHAN CITRA – Ch.3

M E N G O L A H C I T R A M E N J A D I G R A Y S C A L E

Bayu Pratama RN [ [email protected] ]

Tujuan Praktikum

- Mengetahui cara membuat program yang mengubah image berwarna ke grayscale

INFORMASI

Pada praktikum ke-3 ini

melanjutkan file yang telah kalian buat dari praktikum ke-2.

Sebelumnya lakukan kopi

folder proyek yang kalian buat dari praktikum ke-2 (

LatihanPengcit2

) ke folder

LatihanPengcit3

. Hal ini karena

LatihanPengcit2 nantinya akan digunakan lagi. (Jika kalian ingin membuat dari awal juga tidak apa-apa).

PEMBUATAN CITRA GRAYSCALE

Suatu citra digital memiliki format pixel yang berbeda-beda, dan bergantung juga pada tipe citranya. Ada

citra digital yang pixelnya hanya mendukung 1 bit (hitam dan putih), 8 bit grayscale, 8 bit warna, dan sampai

24 bit warna. Gambar dengan 24 bit warna terdiri atas 3 komponen yaitu Red (8bit), Green (8bit), dan Blue

(8bit). Jika ketiga-tiganya bernilai 0 maka hasilnya adalah hitam. Jika ketiganya bernilai 255 maka hasilnya

putih. Namun suatu citra berwarna 24bit juga dapat kita ubah menjadi citra grayscale 24bit.

Misalkan kita memiliki suatu pixel P dengan warna 24bit, maka nilai Grayscale dari Pixel P tersebut adalah

Gray = ( R + G + B ) / 3

Dimana R,G,B adalah nilai merah, hijau, biru dari pixel P tersebut. Jika kita sudah mendapatkan nilai Gray

nya, selanjutnya kita gantikan nilai R,G,B dengan nilai Gray tersebut

R = Gray

G = Gray

B = Gray

Algoritmanya adalah sebagai berikut

For I:=0 to ImageWidth -1

For J:=0 to ImageHeight -1

Color := GetPixel( I , J ) ; // mengambil pixel pada koordinat (I , J)

Gray := ( Color.Red + Color.Green + Color.Blue) / 3 ;

Color.Red := Gray ;

Color.Green := Gray;

Color.Blue := Gray;

SetPixel( I , J , Color) ; // mengubah pixel pada koordinat (I , J)

End For

(2)

Di bawah ini adalah perbandingan citra sebelum dan sesudah manipulasi grayscale

Sebelum

Sesudah

Histogram Red (Sebelum)

Histogram Red

(3)

Histogram Blue (Sebelum)

Histogram Blue

Gambar citra yang diubah dari warna menjadi grayscale akan memiliki histogram dengan

bentuk/pola yang sama antara histogram R, histogram G, dan histogram B. Hal ini dikarenakan hasil

perhitungan Gray = (R+G+B)/3 , yang mengakibatkan pada titik yang sama, nilai Red, Green, Blue

menjadi bernilai sama.

BAGAIMANA MEMBUAT PROGRAM YANG BISA MENGUBAH IMAGE KE DALAM GRAYSCALE?

Bagian ini melanjutkan source code yang telah dibuat dari praktikum ke-2.

1. Salin folder proyek kalian dan beri nama

LatihanPengcit3

.

2. Selanjutnya, buka folder baru tersebut. Untuk membuka proyek, kalian bisa melakukan double klik

pada file .

sln

atau file

.csproj

yang iconnya seperti di bawah ini

3. Proyek anda akan terbuka. Tugas anda selanjutnya adalah menambahkan sebuah Button ke dalam

Form dengan property sebagai berikut

Nama

Tipe

Property Name

Property Value

button3

Button

Text

GRAYSCALE

(4)

4.

Pada Form Designer, double klik tombol “GRAYSCALE”

5. Selanjutnya, anda akan berada dalam modus Source Code. Visual Studio akan secara otomatis

men-generate method yang sesuai dengan Event “Click” dari button1, yaitu

button3_Click

(5)

6. Kemudian Isikan potongan kode di bawah ini

7. Simpan proyek anda.

8. Jalankan program dengan menekan F5

9. Coba Anda tekan tombol “LOAD”, lalu anda pilih file gambar

(6)

11. Berikut ini adalah contoh screenshot nya jika anda berhasil

12. Silakan anda coba coba modifikasi sendiri tampilannya agar sesuai selera anda :P

Penjelasan :

Program di atas merupakan program sederhana untuk mengubah image warna ke grayscale. Setelah

pengguna me-load image dan kemudian menekan tombol “GRAYSCALE”, maka code di dalam method

“button3_Click” dijalankan. Proses tersebut sama dengan algoritma yang telah ditulis di atas.

Color

c

=

bm.GetPixel(

x,

y

);

Pada code diatas, program mengambil pixel pada koordinat tertentu. Pixel tersebut merubakan suatu object

dari class

Color,

dimana class

Color

memiliki property

R,G, dan B

.

Untuk membuat Grayscale, seperti yang telah dijelaskan sebelumnya, kita lakukan rata-rata dari R,G,B

int

Gray

=

(int)

(c.R

+

c.G

+

c.B)

/

3

;

Color

c2

=

Color.FromArgb(

c.A,

Gray,

Gray,

Gray

);

Jika sudah, hasil penghitungan kita ganti warna pixel dengan warna yang baru yang sudah Grayscale.

bm.SetPixel( x, y, c2 );

(7)

REFERENSI CLASS DAN METHOD YANG SERING DIGUNAKAN

Namespace

:

System.Drawing

Class :

Bitmap

Turunan dari Class :

Image

(Abstract Class)

public sealed class Bitmap : System.Drawing.Image

Member of System.Drawing

Summary:

Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A System.Drawing.Bitmap is an object used to work with images defined by pixel data.

Constructor :

public Bitmap(string filename)

Member of System.Drawing.Bitmap

Summary:

Initializes a new instance of the System.Drawing.Bitmap class from the specified file. Parameters:

filename: The name of the bitmap file. public Bitmap(int width, int height)

Member of System.Drawing.Bitmap

Summary:

Initializes a new instance of the System.Drawing.Bitmap class with the specified size. Parameters:

width: The width, in pixels, of the new System.Drawing.Bitmap. height: The height, in pixels, of the new System.Drawing.Bitmap.

Method :

public static System.Drawing.Image FromFile(string filename)

Member of System.Drawing.Image

Summary:

Creates an System.Drawing.Image from the specified file. Parameters:

filename: A string that contains the name of the file from which to create the System.Drawing.Image. Returns:

The System.Drawing.Image this method creates.

public System.Drawing.Color GetPixel(int x, int y)

Member of System.Drawing.Bitmap

Summary:

(8)

x: The x-coordinate of the pixel to retrieve. y: The y-coordinate of the pixel to retrieve. Returns:

A System.Drawing.Color structure that represents the color of the specified pixel.

public void Save(string filename)

Member of System.Drawing.Image

Summary:

Saves this System.Drawing.Image to the specified file or stream. Parameters:

filename: A string that contains the name of the file to which to save this System.Drawing.Image.

public void SetPixel(int x, int y, System.Drawing.Color color)

Member of System.Drawing.Bitmap

Summary:

Sets the color of the specified pixel in this System.Drawing.Bitmap. Parameters:

x: The x-coordinate of the pixel to set. y: The y-coordinate of the pixel to set.

color: A System.Drawing.Color structure that represents the color to assign to the specified pixel.

Property :

public intHeight { get; }

Member of System.Drawing.Image

Summary:

Gets the height, in pixels, of this System.Drawing.Image. Returns:

The height, in pixels, of this System.Drawing.Image.

public floatHorizontalResolution { get; }

Member of System.Drawing.Image

Summary:

Gets the horizontal resolution, in pixels per inch, of this System.Drawing.Image. Returns:

The horizontal resolution, in pixels per inch, of this System.Drawing.Image.

public System.Drawing.Imaging.PixelFormatPixelFormat { get; }

Member of System.Drawing.Image

Summary:

Gets the pixel format for this System.Drawing.Image. Returns:

(9)

public System.Drawing.Imaging.ImageFormatRawFormat { get; }

Member of System.Drawing.Image

Summary:

Gets the file format of this System.Drawing.Image. Returns:

The System.Drawing.Imaging.ImageFormat that represents the file format of this System.Drawing.Image.

public floatVerticalResolution { get; }

Member of System.Drawing.Image

Summary:

Gets the vertical resolution, in pixels per inch, of this System.Drawing.Image. Returns:

The vertical resolution, in pixels per inch, of this System.Drawing.Image.

public intWidth { get; }

Member of System.Drawing.Image

Summary:

Gets the width, in pixels, of this System.Drawing.Image. Returns:

The width, in pixels, of this System.Drawing.Image.

Namespace

:

System.Drawing

Struct :

Color

Turunan dari Class :

ValueType

(Abstract Class)

public struct Color

Member of System.Drawing

Summary:

Represents an ARGB (alpha, red, green, blue) color.

Constructor :

public Color()

Member of System.Drawing.Color

Method :

public static System.Drawing.ColorFromArgb(int red, int green, int blue)

Member of System.Drawing.Color

Summary:

Creates a System.Drawing.Color structure from the specified 8-bit color values (red, green, and blue). The alpha value is implicitly 255 (fully opaque). Although this method allows a 32-bit value to be passed for each color component, the

(10)

Parameters:

red: The red component value for the new System.Drawing.Color. Valid values are 0 through 255. green: The green component value for the new System.Drawing.Color. Valid values are 0 through 255. blue: The blue component value for the new System.Drawing.Color. Valid values are 0 through 255. Returns:

The System.Drawing.Color that this method creates.

public static System.Drawing.ColorFromArgb(int alpha, System.Drawing.Color baseColor)

Member of System.Drawing.Color

Summary:

Creates a System.Drawing.Color structure from the specified System.Drawing.Color structure, but with the new specified alpha value. Although this method allows a 32-bit value to be passed for the alpha value, the value is limited to 8 bits.

Parameters:

alpha: The alpha value for the new System.Drawing.Color. Valid values are 0 through 255. baseColor: The System.Drawing.Color from which to create the new System.Drawing.Color. Returns:

The System.Drawing.Color that this method creates.

public static System.Drawing.ColorFromArgb(int alpha, int red, int green, int blue)

Member of System.Drawing.Color

Summary:

Creates a System.Drawing.Color structure from the four ARGB component (alpha, red, green, and blue) values.

Although this method allows a 32-bit value to be passed for each component, the value of each component is limited to 8 bits.

Parameters:

alpha: The alpha component. Valid values are 0 through 255. red: The red component. Valid values are 0 through 255. green: The green component. Valid values are 0 through 255. blue: The blue component. Valid values are 0 through 255. Returns:

The System.Drawing.Color that this method creates.

public floatGetBrightness()

Member of System.Drawing.Color

Summary:

Gets the hue-saturation-brightness (HSB) brightness value for this System.Drawing.Color structure. Returns:

The brightness of this System.Drawing.Color. The brightness ranges from 0.0 through 1.0, where 0.0 represents black and 1.0 represents white.

public floatGetHue()

Member of System.Drawing.Color

Summary:

(11)

The hue, in degrees, of this System.Drawing.Color. The hue is measured in degrees, ranging from 0.0 through 360.0, in HSB color space.

public floatGetSaturation()

Member of System.Drawing.Color

Summary:

Gets the hue-saturation-brightness (HSB) saturation value for this System.Drawing.Color structure. Returns:

The saturation of this System.Drawing.Color. The saturation ranges from 0.0 through 1.0, where 0.0 is grayscale and 1.0 is the most saturated.

Property :

public byteA { get; }

Member of System.Drawing.Color

Summary:

Gets the alpha component value of this System.Drawing.Color structure. Returns:

The alpha component value of this System.Drawing.Color.

public byteB { get; }

Member of System.Drawing.Color

Summary:

Gets the blue component value of this System.Drawing.Color structure. Returns:

The blue component value of this System.Drawing.Color.

public byteG { get; }

Member of System.Drawing.Color

Summary:

Gets the green component value of this System.Drawing.Color structure. Returns:

The green component value of this System.Drawing.Color.

public byteR { get; }

Member of System.Drawing.Color

Summary:

Gets the red component value of this System.Drawing.Color structure. Returns:

Gambar

Gambar   citra   yang   diubah   dari   warna   menjadi   grayscale   akan   memiliki   histogram   dengan  bentuk/pola yang sama antara histogram R, histogram G, dan histogram B

Referensi

Dokumen terkait

Hanya dengan segala ridho dari Allah SWT penulis mampu menyelesaikan Karya Tulis Ilmiah ini yang berjudul “PENATALAKSANAAN TERAPI LATIHAN PADA PASCA OPERASI

Dynamically Allocated: Maksud dari jenis ini adalah Hard disk Virtual yang akan digunakan oleh Ubuntu nantinya, semakin lama semakin besar, jika kamu menambahkan data

Dari hasil simulasi mekanisme motor bakar satu silinder dengan menggunakan MATLAB disimpulkan bahwa dengan penambahan bobot massa sebesar 0,6 kali massa yang terkonsentrasi

Hal ini juga membuktikan bahwa potensi Pajak Reklame yang dapat diraih kota Bandung sebagai salah satu sumber Pendapatan Asli Daerah (PAD) masih belum optimal karena masih banyak

Instrumen Pemetaan MUTU PAUDNI Lembaga dan Program Pendidikan Anak Usia Dini (PAUD) yang dilaksanakan SKB. SKB menyerahkan data dan laporan pelaksanaan kepada BP-PAUDNI Regional IV

Khususnya pada DAS Siak di Perawang melalui analisis parameter mikrobiologi meliputi: total bakteri, angka lempeng total jamur, Coliform, serta ada tidaknya kontaminasi

The motivations of this study can be understood as currently, UWB technology is standardized in two different IEEE protocols as IEEE 802.15.3a for high data rates using

KUHP Pasal 286 KUHP Pasal 286 : Persetubuhan dengan : Persetubuhan dengan seorang perempuan dalam keadaan pingsan seorang perempuan dalam keadaan pingsan atau tak berdaya.. atau