Kompensasi Pencahayaan

dokumen-dokumen yang mirip
Pre Processing. Memberikan gambaran jenis-jenis pre-processing

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

CONTOH KODE DALAM BAB 3

BAB III PEMBAHASAN MASALAH

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

Sesi/Perkuliahan ke: XII

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

MODUL III PENGGUNAAN KOMPONEN LANJUTAN

LISTING PROGRAM PADA MICROSOFT VISUAL BASIC 6.0


Pertemuan 3 Bekerja dengan Kontrol

Lampiran A. Program Visualisasi Cuaca Otomatis

E-Trick Visual Basic 6.0

OPERASI FILE Operasi File Dalam Visual Basic Membuka File

Visual Basic 6.0 For Beginners

BAB V PROSEDUR DAN FUNGSI

Gambar 8.1. Dialog Menu Editor.


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

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

Malang, Januari 2007 Penulis

BAB-3 ATRIBUT PRIMITIF 2D

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

VARIABEL, USER DEFINED DATA TYPE, ARRAY VARIABEL

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

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

Pengolahan Citra Digital Dengan Visual Basic

MODUL-MODUL PRAKTIKUM VB.

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

Krisna D. Octovhiana. 1.1 Apa itu Array?

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

MODUL-MODUL PRAKTIKUM VB.

VARIABEL, USER DEFINED DATA TYPE, ARRAY

MODUL 2 PERANCANGAN INTERFACE

BAB 11 MENGELOLA FILE & OLE (OBJECT LINGKING EMBEDDING)

VISUAL BASIC 6.0 PEMROGRAMAN KOMPUTER. Visual Basic

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

Visual Basic 6.0 For Beginners

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

LISTING PROGRAM. Script Menu Utama Pada Game Tebak Kata

PROSEDUR & PARAMETER PROSEDUR

MODUL 2 Variabel, Val, If tunggal dan If bersarang + case

MODUL I MEMBUAT PROGRAM PERTAMA VISUAL BASIC

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

VISUAL BASIC 6.0 SETYO BUDI, M.KOM

Pengenalan Microsoft Visual Studio 2010

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

VISUAL BASIC /18/2014 1

STRUKTUR KENDALI PERULANGAN

Visual Basic 6.0 For Beginners

MEMBACA RECORD DENGAN ADODC

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.

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

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

BAB IV VARIABEL DAN TIPE DATA

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

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

Penggandaan Ke Sistem

MODUL 2 SELECTION & LOOPING PADA FORM

Cepat Mahir Visual Basic 6.0. Cepat Mahir Visual Basic 6.0. Bab 10 Penggunaan Kontrol Array. Krisna D. Octovhiana

Keterangan : Integer Long : tipe data untuk angka bulat Single, Double : tipe data untuk angka pecahan/desimal Currency : tipe data untuk angka mata

Pengenalan Visual Basic

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

MODUL IV PROCEDURE. [Private public static]sub namaprosedur (daftarargumen) End Sub

PEMROGRAMAN I (VB) Pertemuan 2. By: Augury

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

P5 Variabel, Tipe Data dan Operator

VISUAL PROGRAMMING 2. bangdanu.wordpress.com. By: Danu Wira Pangestu

Mengerti dan memahami pemrograman berbasis object Mengerti dan memahami pembuatan visualisasi untuk interface

Visual Basic 6.0 For Beginners

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

Bab 4 Hasil dan Pembahasan

LAMPIRAN. Kode Program Menu Utama

BAB III Struktur Program

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Lampiran A HELP EZTWAIN. crash.

PEMROGRAMAN VISUAL BASIC

TUGAS 3 PRAKTIKUM PEMROGRAMAN.NET

Aplikasi Payroll dengan ASP.Net

Krisna D. Octovhiana. 1.1 Mengenal Data dan Variabel.

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

Algoritma Pemrograman 2 B

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

Membuat program sederhana mengendalikan lampu LED melalui port USB dengan VB. USB HIDClass<->IOConverter

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

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

BAB IV IMPLEMENTASI DAN PENGUJIAN

Modul Praktikum Ke-2

pertemuan 2 Tipe Data, Variabel, Konstanta, Fungsi dan Operator

PENGGUNAAN STRUKTUR KONTROL

PRAKTIKUM 1 ( PENGGUNAAN ADO )

Pertemuan-1 TIPE DATA STRUKTUR

MODUL IV PERULANGAN ( LOOPING )

Transkripsi:

PRAKTIKUM IV Kompensasi Pencahayaan Tujuan Memberikan pengertian perlunya dilakukan pengaturan pencahayaan Memberikan contoh macam-macam cara pengaturan pencahayaan Teori Penunjang Gambar Percobaan Prosedur Percobaan 1. Percobaan percobaan berikut tetap menggunakan program (proyek) seperti pada percobaan sebelumnya, sehingga anda dapat menyalin percobaan sebelumnya menjadi percobaan-percobaan ini dan selanjutnya. Simpan setiap jenis percobaan pada direktori terpisah. 2. Percobaan berikut digunakan untuk menghitung nilai histogram dari suatu image. Di sini digunakan perhitungan histogram untuk intensitas I, warna R, G dan B. 28

3. Masukkan program berikut pada file Module1. Pada percobaan ini digunakan buffer vimage untuk menampung gambar. Tipe dari vimage adalah Integer agar memudahkan dalam pemrosesan image. Option Explicit ' Deklarasi Jenis type Data RGB, untuk keperluan Image Processing Public Type trgb B As Integer G As Integer R As Integer 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 trgb 4. Pada percobaan ini, setiap suatu gambar dibaca, maka data dari gambar tersebut langsung dipindahkan ke buffer vimage agar memudahkan proses pengaturan berikutnya. Masukkan program berikut ini pada Form1. Option Explicit Private Sub Dir1_Change() File1.Path = Dir1.Path Private Sub Drive1_Change() Dir1.Path = Drive1.Drive Private Sub File1_Click() Dim p As Long Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) ReDim vimage(0 To Picture1.ScaleWidth - 1, _ 0 To Picture1.ScaleHeight - 1) As trgb p = GetPixel(Picture1.hdc, x, y) vimage(x, y).r = p And &HFF vimage(x, y).g = (p \ &H100) And &HFF vimage(x, y).b = (p \ &H10000) And &HFF Histogram Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" Picture1.ScaleMode = 3 Picture1.AutoSize = True Picture1.AutoRedraw = True Private Sub Histogram() 29

R = vimage(x, y).r G = vimage(x, y).g B = vimage(x, y).b 5. Selalu lakukan eksekusi program dari file *.exe-nya agar program dapat berjalan lebih cepat. 6. Percobaan berikut merupakan percobaan sederhana untuk mengubah tingkat Intensitas dari suatu image. Percobaan ini tetap menggunakan hasil dari percobaan sebelumnya (histogram) agar selalu dapat dilihat nilai histogram tiap pemrosesan image. Tambahkan komponen ScrollBar dan TextBox. 7. Program Module1 dapat menggunakan dari percobaan sebelumnya. 8. Masukkan program berikut pada Form1. Option Explicit Private Sub Dir1_Change() File1.Path = Dir1.Path 30

Private Sub Drive1_Change() Dir1.Path = Drive1.Drive Private Sub File1_Click() Dim p As Long Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) ReDim vimage(0 To Picture1.ScaleWidth - 1, 0 To Picture1.ScaleHeight - 1) As trgb p = GetPixel(Picture1.hdc, x, y) vimage(x, y).r = p And &HFF vimage(x, y).g = (p \ &H100) And &HFF vimage(x, y).b = (p \ &H10000) And &HFF Histogram Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" Picture1.ScaleMode = 3 Picture1.AutoSize = True Picture1.AutoRedraw = True ScrollBar1.Min = -128 ScrollBar1.Max = 128 Text1 = 0 ScrollBar1.Value = 0 Private Sub Histogram() R = vimage(x, y).r G = vimage(x, y).g B = vimage(x, y).b Private Sub Intensity(Alfa As Integer) 31

R = vimage(x, y).r + Alfa G = vimage(x, y).g + Alfa B = vimage(x, y).b + Alfa If R < 0 Then R = 0 If R > 255 Then R = 255 If G < 0 Then G = 0 If G > 255 Then G = 255 If B < 0 Then B = 0 If B > 255 Then B = 255 SetPixel Picture1.hdc, x, y, RGB(R, G, B) Picture1.Refresh Private Sub ScrollBar1_Change() If ScrollBar1.Value <> Text1 Then Intensity ScrollBar1.Value Text1 = ScrollBar1.Value 9. Jangan lupa untuk menjalankan program dari file *.exe agar program dapat berjalan lebih cepat. 10. Coba ubah-ubah nilai intensitasnya dengan menggeser scrollbar, positif untuk meningkatkan intensitas dan negatif untuk menurunkan intensitas. 11. Percobaan berikut ini digunakan untuk melakukan pengaturan Intensitas Otomatis, dengan diberikan nilai referensi tertentu sebagai intensitas rata-rata. Ubah-ubah nilainya untuk mendapatkan nilai intensitas yang sesuai dengan nilai 0 sampai 255. 32

12. Program pada file Module1 tetap sama dengan percobaan sebelumnya. Sesuaikan program pada file Form1 dengan program berikut. Option Explicit Dim IntensitasRata2 As Integer Private Sub Dir1_Change() File1.Path = Dir1.Path Private Sub Drive1_Change() Dir1.Path = Drive1.Drive Private Sub File1_Click() Dim p As Long Dim I As Long Dim R As Integer, G As Integer, B As Integer Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) ReDim vimage(0 To Picture1.ScaleWidth - 1, 0 To Picture1.ScaleHeight - 1) As trgb I = 0 p = GetPixel(Picture1.hdc, x, y) R = p And &HFF G = (p \ &H100) And &HFF B = (p \ &H10000) And &HFF vimage(x, y).r = R vimage(x, y).g = G vimage(x, y).b = B I = I + R + G + B IntensitasRata2 = I / (Picture1.ScaleWidth * Picture1.ScaleHeight * 3) Intensity ScrollBar1.Value - IntensitasRata2 Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" Picture1.ScaleMode = 3 Picture1.AutoSize = True Picture1.AutoRedraw = True ScrollBar1.Min = 0 ScrollBar1.Max = 255 Text1 = 128 ScrollBar1.Value = 128 33

Private Sub Histogram() R = vimage(x, y).r G = vimage(x, y).g B = vimage(x, y).b Private Sub Intensity(Alfa As Integer) R = vimage(x, y).r + Alfa G = vimage(x, y).g + Alfa B = vimage(x, y).b + Alfa If R < 0 Then R = 0 If R > 255 Then R = 255 If G < 0 Then G = 0 If G > 255 Then G = 255 If B < 0 Then B = 0 If B > 255 Then B = 255 SetPixel Picture1.hdc, x, y, RGB(R, G, B) 34

Picture1.Refresh Private Sub ScrollBar1_Change() If ScrollBar1.Value <> Text1 Then Intensity ScrollBar1.Value - IntensitasRata2 Text1 = ScrollBar1.Value 13. Coba buka berbagai gambar dan perhatikan, apakah tingkat pencahayaannya selalu sama? 14. Berikut ini adalah program untuk pengaturan Kontras dengan nilai tertentu. Cobah ubah-ubah nilainya untuk mendapatkan nilai kontras yang lebih baik. 15. Program pada file Module1 tetap sama dengan percobaan sebelumnya. Sesuaikan program pada file Form1 dengan program berikut. Option Explicit Private Sub Dir1_Change() File1.Path = Dir1.Path Private Sub Drive1_Change() Dir1.Path = Drive1.Drive Private Sub File1_Click() Dim p As Long Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) ReDim vimage(0 To Picture1.ScaleWidth - 1, 0 To Picture1.ScaleHeight - 1) As trgb p = GetPixel(Picture1.hdc, x, y) vimage(x, y).r = p And &HFF vimage(x, y).g = (p \ &H100) And &HFF vimage(x, y).b = (p \ &H10000) And &HFF Histogram 35

Private Sub Form_Load() File1.Pattern = "*.bmp;*.jpg;*.jpeg;*.gif;*.tif" Picture1.ScaleMode = 3 Picture1.AutoSize = True Picture1.AutoRedraw = True ScrollBar1.Min = -10 ScrollBar1.Max = 10 Text1 = 0 ScrollBar1.Value = 0 Private Sub Histogram() R = vimage(x, y).r G = vimage(x, y).g B = vimage(x, y).b Private Sub Contrast(c As Single) R = vimage(x, y).r * c G = vimage(x, y).g * c B = vimage(x, y).b * c If R < 0 Then R = 0 If R > 255 Then R = 255 If G < 0 Then G = 0 If G > 255 Then G = 255 If B < 0 Then B = 0 If B > 255 Then B = 255 36

SetPixel Picture1.hdc, x, y, RGB(R, G, B) Picture1.Refresh Private Sub ScrollBar1_Change() If ScrollBar1.Value <> Text1 Then Contrast 2 ^ (ScrollBar1.Value / 5) Text1 = ScrollBar1.Value 16. Coba perhatika hasil percobaan tersebut. Jika nilai kontras ditingkatkan, maka nilai histogramnya menjadi aneh. Coba jelaskan apa yang terjadi. 17. Berikut ini adalah contoh pengaturan kontras yang lain, dimana pengaturan berdasarkan penentuan titik tengah gray level, yaitu 128. Coba bandingkan hasilnya dengan pengaturan kontras sebelumnya. 18. Program pada file Module1 tetap sama dengan percobaan sebelumnya. Ubah/sesuaikan program pada file Form1 dengan hanya mengbah bagian sub Contrast sebagai berikut. R = (vimage(x, y).r - 128) * c + 128 37

G = (vimage(x, y).g - 128) * c + 128 B = (vimage(x, y).b - 128) * c + 128 If R < 0 Then R = 0 If R > 255 Then R = 255 If G < 0 Then G = 0 If G > 255 Then G = 255 If B < 0 Then B = 0 If B > 255 Then B = 255 SetPixel Picture1.hdc, x, y, RGB(R, G, B) Picture1.Refresh 19. Cobalah membuat program pengaturan kontras secara otomatis. Pengaturan dapat didasarkan nilai intensitas minimal dan maksimal. Anda dapat melihat teori image processing tentang mengaturan kontras otomatis atau dapat mencontoh program percobaan dari praktikum Robot Vision III. Tugas 1. Apa perbedaan penggunaan antara pengaturan intensitas dan pengaturan kontras? 2. Apa perbedaan hasil (mana yang terbaik) antara pengatura kontras berbasis nilai 0 dengan pengaturan kontras berbasis nilai 128? 38