Pre Processing. Memberikan gambaran jenis-jenis pre-processing

dokumen-dokumen yang mirip
Kompensasi Pencahayaan

Pre Processing. Memberikan gambaran jenis-jenis pre-processing

Pembacaan dan Penampilan Image

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Pengolahan Citra Digital

LISTING PROGRAM. 'byte of info Private Type RGBcolor R As Byte 'amount of red G As Byte 'amount of green B As Byte 'amount of blue End Type

BAB III PEMBAHASAN MASALAH

LISTING PROGRAM PADA MICROSOFT VISUAL BASIC 6.0

Pengolahan Citra Digital Dengan Visual Basic

CONTOH KODE DALAM BAB 3

MENGELOLA FILE. - Untuk menampilkan file, perlu membuka direktori penyimpanannya.

Sesi/Perkuliahan ke: XII

BAB V PROSEDUR DAN FUNGSI

Pertemuan 11 type data, deklarasi variabel dan array 1.1 Mengenal Data dan Variabel

Lampiran A. Program Visualisasi Cuaca Otomatis


MODUL III PENGGUNAAN KOMPONEN LANJUTAN

TiPe Data Array di Vb.net. By Faizah,S.Kom

Pertemuan 3 Bekerja dengan Kontrol


MODUL-MODUL PRAKTIKUM VB.

VARIABEL, USER DEFINED DATA TYPE, ARRAY VARIABEL

E-Trick Visual Basic 6.0

LISTING PROGRAM. Public Declare Sub PortOut Lib "io.dll" (ByVal Port As Integer, ByVal Value As Byte)

1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

VARIABEL, USER DEFINED DATA TYPE, ARRAY

Fungsi Kelompok : yang dalam hal ini d adalah jumlah pixel yang terlibat dalam perhitungan rata-rata. Gambar 1 memperlihatkan dua buah skema

BAB IV IMPLEMENTASI DAN PENGUJIAN. dan tempat implementasi dari perangkat lunak ini adalah sebagai berikut :

Pertemuan 2 Bahasa Visual Basic Aplication

Krisna D. Octovhiana. 1.1 Apa itu Array?

Gambar 8.1. Dialog Menu Editor.

Visual Basic 6.0 For Beginners

Penggandaan Ke Sistem

WinCE API. API Fungsi & prosedur. Microsoft Windows Kode program

PEMROGRAMAN I (VB) Pertemuan 2. By: Augury

STRUKTUR KENDALI PERULANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN. dan menjelasan berbagai hal yang berhubungan dengan pengujian.

PENGGUNAAN DATA DAN VARIABEL

Image Filtering. Achmad Basuki Politeknik Elektronika Negeri Surabaya PENS-ITS 2005

BAB-3 ATRIBUT PRIMITIF 2D

Malang, Januari 2007 Penulis

PENGGUNAAN DATA DAN VARIABEL KOMPUTER APLIKASI AKUNTANSI V PRODI AKUNTANSI - UNIKOM

Pertemuan-1 TIPE DATA STRUKTUR

OPERASI FILE Operasi File Dalam Visual Basic Membuka File

PROGRAM INTERFACING AUDIO DAN VIDEO DENGAN PROGRAM VISUAL BASIC LAPORAN TUGAS KARYA TULIS INTERFACING

BAB III Struktur Program

LAMPIRAN. Kode Program Menu Utama

Krisna D. Octovhiana. 1.1 Mengenal Data dan Variabel.

Menampilkan List Komputer dan User-nya dalam Jaringan Intranet Dengan Fungsi WNet API

Visual Basic 6.0 For Beginners

LISTING PROGRAM. Script Menu Utama Pada Game Tebak Kata

VISUAL BASIC /18/2014 1

Bab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM

LAMPIRAN CODE PROGRAM ASSEMBLY. $mod51 servo1 equ p3.5 servo2 equ p3.3 servo3 equ p1.7 servo4 equ p1.5 servo5 equ p1.3 servo6 equ p1.

LAMPIRAN CODING PROGRAM FORM DISPLAY : Private Sub Cmd_Cancel_Click() End End Sub

Struktur Data II. Bekerja Dengan Form.

JAWABAN TUGAS 5 PEMROGRAMAN TEKNIK

MODUL 2 PERANCANGAN INTERFACE

VISUAL BASIC 6.0 PEMROGRAMAN KOMPUTER. Visual Basic

VISUAL BASIC 6.0 SETYO BUDI, M.KOM

Percobaan 1 PENGENALAN INTERFACE PARALLEL DAN SEVEN SEGMENT LED DISPLAY

Modul Praktikum Ke-2

Array dan Prosedur. Oleh : Edi Sugiarto, S.Kom, M.Kom

BAB 11 MENGELOLA FILE & OLE (OBJECT LINGKING EMBEDDING)

Variabel, Tipe Data, dan Operator. Oleh : Edi Sugiarto, S.Kom, M.Kom

PROSEDUR & PARAMETER PROSEDUR

Praktekum VB 6.0 I. KOTAK PESAN. Contoh syntax kotak pesan

MODUL 2 SELECTION & LOOPING PADA FORM

BAB IV VARIABEL DAN TIPE DATA

DAFTAR PUSTAKA. Multimedia Control, Steven Holzner. Diakses pada tanggal 14/09/2011 Dari

Menjelaskan variabel aksi sebagai data string nilai,hasil dan simpan sebagai data double.

Pengenalan Visual Basic

Program Studi Teknik Mesin S1

MODUL-MODUL PRAKTIKUM VB.

PENGGUNAAN STRUKTUR KONTROL

PEMROGRAMAN KOMPUTER KODE MODUL: TIN 202 MODUL V PENGENALAN MICROSOFT VISUAL BASIC 6.0

Bab 4 Hasil dan Pembahasan

Lampiran A HELP EZTWAIN. crash.

LISTING PROGRAM. Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Visual Basic 6.0 For Beginners

1. Buka Visual Basic 6 sobat. Buat project baru, masukkan componen Microsoft Winsock Control 2. Masukkan coding berikut

Pengenalan Microsoft Visual Studio 2010

BAB III ANALISIS DAN PERANCANGAN SISTEM

LISTING PROGRAM. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ShowInputForm End Sub

Krisna D. Octovhiana. 1.1 Mengenal Struktur Kontrol.

Memahami Proyek-Proyek Visual Basic dan Dasar-Dasar Visual Basic Code

BAB 4 Implementasi dan Pengujian

Checksum CRC32. Tutorial ini di buat untuk yang belum ngerti ajah yah yang udah Master harap membenarkan

BAB IV IMPLEMENTASI DAN PENGUJIAN

Variabel merupakan tempat untuk menyimpan nilai sementara dari suatu perhitungan. Untuk mendeklarasikan sebuah variabel digunakan pernyataan :

MEMBACA RECORD DENGAN ADODC

MODUL VI Penggunaan Struktur Kontrol Pengulangan

PEMROGRAMAN VISUAL BASIC

Data Hasil Penelitian bobot 200 butir persilangan tanaman jagung

Percobaan 4. ADC & DAC Based I2C

Transkripsi:

PRAKTIKUM IIb Pre Processing Tujuan Memberikan gambaran jenis-jenis pre-processing Teori Penunjang Prosedur Percobaan. Pada percobaan beikut ini merupakan kelanjutan dari percobaan berikutnya mengenai pre-processing 2. Berikut ini percobaan filter LPF menggunakan kernel 5 x 5 dengan nilai matriks Kernel = 25 3. Gunakan proyek dari program yang telah dibuat untuk percobaan sebelumnya, yaitu percobaan penampilan gambar menggunakan SetPixel. Salin proyek tersebut ke direktori lain agar dapat dipisahkan dari proyek sebelumnya. 8

4. Tambahkan menu Filter LPF dengan nama mnulpf. 5. Masukkan program berikut pada file Module. Pada program tersebut digunakan buffer vimage dengan ukuran dinamis (ukuran array belum ditentukan) dan tipe data trgb24. Option Explicit ' Deklarasi Jenis type Data RGB, untuk keperluan Image Processing Public Type trgb24 B As Byte G As Byte R As Byte End Type Public Declare Function SetPixel Lib "gdi32" ( _ ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _ ByVal crcolor As Long) As Long Public Declare Function GetPixel Lib "gdi32" ( _ ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Global vimage() As trgb24 6. Masukkan program berikut pada file Form Option Explicit Private Sub Dir_Change() File.Path = Dir.Path Private Sub Drive_Change() Dir.Path = Drive.Drive Private Sub File_Click() Picture.Picture = LoadPicture(File.Path + "\" + File.FileName) Private Sub Form_Load() File.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" Picture.ScaleMode = 3 Picture.AutoSize = True Picture.AutoRedraw = True Private Sub mnulpf_click() Dim xx As Integer, yy As Integer Dim R As Integer, G As Integer, B As Integer Dim Gray As Integer Dim Kernel As Integer Kernel = 5 ReDim vimage(-kernel \ 2 To Picture.ScaleWidth + Kernel \ 2 -, _ -Kernel \ 2 To Picture.ScaleHeight + Kernel \ 2 - ) As trgb24 For y = 0 To Picture.ScaleHeight - For x = 0 To Picture.ScaleWidth - p = GetPixel(Picture.hdc, x, y) vimage(x, y).r = p And &HFF vimage(x, y).g = (p \ &H00) And &HFF vimage(x, y).b = (p \ &H0000) And &HFF For y = 0 To Picture.ScaleHeight - For x = 0 To Picture.ScaleWidth - 9

G = 0 For yy = -Kernel \ 2 To Kernel \ 2 For xx = -Kernel \ 2 To Kernel \ 2 R = R + vimage(x + xx, y + yy).r G = G + vimage(x + xx, y + yy).g B = B + vimage(x + xx, y + yy).b R = R \ (Kernel * Kernel) G = G \ (Kernel * Kernel) B = B \ (Kernel * Kernel) If R > 255 Then R = 255 If G > 255 Then G = 255 If B > 255 Then B = 255 SetPixel Picture.hdc, x, y, RGB(R, G, B) Picture.Refresh 7. Mengingat program tersebut memerlukan waktu komputasi yang cukup berat, maka 8. sebaiknya anda menjadikan program tersebut ke dalam bentuk *.exe dan menjalankan dari file *.exe untuk mempercepat waktu proses. Jalankan program dan pilih gambar yang akan diproses 9. Tekan menu Filter LPF untuk mulai memproses gambar. 0. Ubah ukuran kernel menjadi 3, 7, 9 dan. Perhatikan, bahwa ukuran kernel harus ganjil.. Berikut ini adalah bentuk lain dari filter menggunakan fungsi smoothing. 2. Buat proyek baru dan dapat menyalin dari proyek sebelumnya. Tambahkan menu Smoothing dengan nama mnusmoothing. 3. Nilai smoothing ditentukan berdasarkan persamaan: y( n) = α x( n) + ( α ) y( n ), dengan nilai koefisien smoothing α = 0,5 akan didapatkan bentuk x( n) + y( n ) y ( n) = 2 4. Program pada Module dapat menggunakan program pada percobaan sebelumnya. 5. Program pada Form juga dapat menggunakan prgram pada percobaan sebelumnya dengan menambahkan program smooting sebagai berikut. Private Sub mnusmoothing_click() Dim xx As Integer, yy As Integer Dim R As Integer, G As Integer, B As Integer ReDim vimage(0 To Picture.ScaleWidth -, _ 0 To Picture.ScaleHeight - ) As trgb24 For y = 0 To Picture.ScaleHeight - For x = 0 To Picture.ScaleWidth - p = GetPixel(Picture.hdc, x, y) 20

vimage(x, y).r = p And &HFF vimage(x, y).g = (p \ &H00) And &HFF vimage(x, y).b = (p \ &H0000) And &HFF For y = 0 To Picture.ScaleHeight - G = 0 For x = 0 To Picture.ScaleWidth - R = (R + vimage(x, y).r) / 2 G = (G + vimage(x, y).g) / 2 B = (B + vimage(x, y).b) / 2 vimage(x, y).r = R vimage(x, y).g = G vimage(x, y).b = B For x = 0 To Picture.ScaleWidth - G = 0 For y = 0 To Picture.ScaleHeight - R = (R + vimage(x, y).r) / 2 G = (G + vimage(x, y).g) / 2 B = (B + vimage(x, y).b) / 2 vimage(x, y).r = R vimage(x, y).g = G vimage(x, y).b = B For y = 0 To Picture.ScaleHeight - For x = 0 To Picture.ScaleWidth - SetPixel Picture.hdc, x, y, _ RGB(vImage(x, y).r, vimage(x, y).g, vimage(x, y).b) Picture.Refresh 6. Jalankan program tersebut dan bandingkan kecepatan prosesnya dengan filter LPF. 7. Ubah koefisien smoothing dengan nilai 0,, 0,2, 0,8 dan coba lagi hasilnya. 8. Berikut ini percobaan mengubah ukuran gambar dengan cara resampling. Tambahkan menu ReSampling dengan nama mnuresampling. 2

9. Gunakan program module dan form seperti pada percobaan sebelumnya dengan menambahkan program berikut pada form. Private Sub mnuresampling_click() Dim ReSampling As Integer ReSampling = 5 For y = 0 To Picture.ScaleHeight - Step ReSampling For x = 0 To Picture.ScaleWidth - Step ReSampling p = GetPixel(Picture.hdc, x, y) SetPixel Picture.hdc, x \ ReSampling, y \ ReSampling, p Picture.Refresh 20. Coba program tersebut dan ubah-ubah nilai resampling untuk mendapatkan ukuran yang berbeda. 2. Pada percobaan tersebut gambar asli masih tampak. Coba lakukan perubahan program agar hanya menampilkan gambar hasil saja dan gambar asli dapat dibuang. 22. Percobaan berikut digunakan untuk melakukan pengubahan ukuran gambar dengan cara lainnya, yaitu dengan melakukan kuantisasi. Buat proyek baru dengan menyalin program sebelumnya. 23. Tambahkan menu Quantization dengan nama mnuquantization pada form tersebut. 24. Masukkan sub program berikut pada form. Private Sub mnuquantization_click() Dim xx As Integer, yy As Integer Dim R As Integer, G As Integer, B As Integer Dim Quantization As Integer Quantization = 5 ReDim vimage(0 To Picture.ScaleWidth -, _ 0 To Picture.ScaleHeight - ) As trgb24 For y = 0 To Picture.ScaleHeight - For x = 0 To Picture.ScaleWidth - p = GetPixel(Picture.hdc, x, y) vimage(x, y).r = p And &HFF vimage(x, y).g = (p \ &H00) And &HFF vimage(x, y).b = (p \ &H0000) And &HFF For y = 0 To Picture.ScaleHeight - Step Quantization For x = 0 To Picture.ScaleWidth - Step Quantization G = 0 For yy = 0 To Quantization - For xx = 0 To Quantization - R = R + vimage(x + xx, y + yy).r G = G + vimage(x + xx, y + yy).g B = B + vimage(x + xx, y + yy).b 22

R = R \ (Quantization * Quantization) G = G \ (Quantization * Quantization) B = B \ (Quantization * Quantization) If R > 255 Then R = 255 If G > 255 Then G = 255 If B > 255 Then B = 255 SetPixel Picture.hdc, x \ Quantization, y \ Quantization, _ RGB(R, G, B) Picture.Refresh 25. Uji dengan membuka suatu gambar tertentu. 26. Ubah nilai quantization menjadi 2, 0, 20. 27. Bandingkan hasilnya dengan metode resampling. Tugas. Mengapa ukuran kernal dari filter LPF harus bernilai ganjil? 2. Mengapa ukuran dari buffer vimage harus bersifat dinamis? 3. Perhatikan pada program LPF, re deklarasi variable vimage menggunakan batasan Kernel\2 sampai ukuran Gambar + Kernel\2 -. Mengapa tidak dari 0 sampai ukuran gambar - saja? 4. Apa perbedaan penggunaan penskalaan menggunakan resampling dengan quantization? Terangkan dari prinsip kerja, hasil dan kecepatan. 23