Upload
selfia
View
234
Download
0
Embed Size (px)
Citation preview
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
1/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
1
Latihan 01
PROGRAM GET RGB
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As Integer
Private Sub cmdGetRGB_Click()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeight
Lebar = Picture1.ScaleWidth'==================================================
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataG(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataB(Lebar, Tinggi) As Integer '(baris,kolom)'========================================
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
2/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
2
'====Agar Picture 2,3 dan 4 Lebar dan tingginya sama dengan Picture 1====With Picture2
.Cls
.Height = Tinggi
.Width = LebarEnd With
With Picture3.Cls.Height = Tinggi.Width = Lebar
End WithWith Picture4
.Height = Tinggi
.Width = LebarEnd With
'========================================================================
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
'===Menampilkan Citra========='warna RED di picture2Picture2.PSet (X, Y), RGB(Red, 0, 0)'warna GREEN di picture3Picture3.PSet (X, Y), RGB(0, Green, 0)'warna BLUE di picture4Picture4.PSet (X, Y), RGB(0, 0, Blue)
NextNext
End Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
3/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
3
CD.ShowOpennamafile = CD.FileNamePicture1.Picture = LoadPicture(namafile)Text1.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
4/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
4
Latihan 02
PROGRAM GRAYSCALE
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As Integer
Private Sub cmdGrayscale_Click()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeight
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
5/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
5
Lebar = Picture1.ScaleWidth'==================================================
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataG(Lebar, Tinggi) As Integer '(baris,kolom)
ReDim DataB(Lebar, Tinggi) As Integer '(baris,kolom)'========================================
'====Agar Picture 2 Lebar dan tingginya sama dengan Picture 1====With Picture2
.Cls
.Height = Tinggi
.Width = LebarEnd With
'================================================================
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
'===== Mendapatkan grey level =============Grey = Int((Red + Green + Blue) / 3)'==========================================
'==============Menampilkan citra===========Picture2.PSet (X, Y), RGB(Grey, Grey, Grey)'==========================================
NextNext
End Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
6/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
6
CD.ShowOpennamafile = CD.FileNamePicture1.Picture = LoadPicture(namafile)Text1.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
7/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
7
Latihan 03
PROGRAM BRIGHTNESS CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As IntegerDim tambah As Integer
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
8/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
8
Sub Brightness()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
'==================================================
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataG(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataB(Lebar, Tinggi) As Integer '(baris,kolom)'========================================
'====Agar Picture 2 Lebar dan tingginya sama dengan Picture 1====With Picture2
.Cls
.Height = Tinggi
.Width = LebarEnd With
'================================================================
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)
'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam Blue
DataB(X, Y) = Blue'=============================
'==========Proses Brightness=================Rednew = Red + tambahGreennew = Green + tambahBluenew = Blue + tambah
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
9/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
9
If Rednew >= 255 Then Rednew = 255If Rednew = 255 Then Greennew = 255If Greennew = 255 Then Bluenew = 255If Bluenew
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
10/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
10
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
11/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
11
Latihan 04
PROGRAM CONTRAST CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As IntegerDim KP As Integer
Sub Contrast()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As Integer, grey As IntegerDim Tot_Pix As Long
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeight
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
12/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
12
Lebar = Picture1.ScaleWidth'==================================================
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataG(Lebar, Tinggi) As Integer '(baris,kolom)
ReDim DataB(Lebar, Tinggi) As Integer '(baris,kolom)'========================================
'====Agar Picture 2 Lebar dan tingginya sama dengan Picture 1====With Picture2
.Cls
.Height = Tinggi
.Width = LebarEnd With
'================================================================
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
'==========Proses Contrast=================grey = Int((Red + Green + Blue) / 3)Redbaru = KP * (Red - grey) + greyGreenbaru = KP * (Green - grey) + greyBluebaru = KP * (Blue - grey) + greyIf (Redbaru > 255) Then Redbaru = 255If (Redbaru < 0) Then Redbaru = 0
If (Greenbaru > 255) Then Greenbaru = 255If (Greenbaru < 0) Then Greenbaru = 0If (Bluebaru > 255) Then Bluebaru = 255If (Bluebaru < 0) Then Bluebaru = 0'===========================================
'====Menampilkan citra=================================Picture2.PSet (X, Y), RGB(Redbaru, Greenbaru, Bluebaru)'======================================================
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
13/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
13
NextNext
End Sub
Private Sub HScroll1_Change()KP = HScroll1.ValueLabel1.Caption = KPContrastEnd Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileName
Picture1.Picture = LoadPicture(namafile)Text1.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
14/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
14
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
15/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
15
Latihan 05
PROGRAM INVERS CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As Integer
Private Sub CmdThreshold_Click()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
16/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
16
'==================================================
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataG(Lebar, Tinggi) As Integer '(baris,kolom)ReDim DataB(Lebar, Tinggi) As Integer '(baris,kolom)
'========================================
'====Agar Picture 2 Lebar dan tingginya sama dengan Picture 1====With Picture2
.Cls
.Height = Tinggi
.Width = LebarEnd With
'================================================================
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris
'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256
Blue = Tot_Pix And 255'Rekam BlueDataB(X, Y) = Blue
'=============================
'===Proses Invers======================Redanyar = 255 - RedGreenanyar = 255 - GreenBlueanyar = 255 - BlueIf (Redanyar < 0) Then Redanyar = 0If (Greenanyar < 0) Then Greenanyar = 0If (Blueanyar < 0) Then Blueanyar = 0'=======================================
'=====Menampilkan Citra====================================Picture2.PSet (X, Y), RGB(Redanyar, Greenanyar, Blueanyar)'==========================================================
NextNext
End Sub
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
17/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
17
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileName
Picture1.Picture = LoadPicture(namafile)Text1.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
18/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
18
Latihan 06
PROGRAM THRESHOLD CITRA
Desain Form
Listing Program
Sub Threshold()Dim Tinggi As Long, Lebar As Long
Dim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Redbaru As IntegerDim Tot_Pix As Long, Gray As IntegerDim JumRed As Long, Total As Long, Redrata As Long
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
19/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
19
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer 'baris,kolomReDim DataG(Lebar, Tinggi) As IntegerReDim DataB(Lebar, Tinggi) As Integer'========================================
With Picture2.Cls.Height = Tinggi.Width = Lebar
End With
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
JumRed = JumRed + RedNext
Next
Redrata = JumRed / (Tinggi * Lebar)
For X = 0 To Lebar - 1 'kolomFor Y = 0 To Tinggi - 1 'Baris
'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
20/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
20
Blue = Tot_Pix And 255'Rekam BlueDataB(X, Y) = Blue
'=============================
If Red < Redrata Then Red = 0
Picture2.PSet (X, Y), RGB(Red, 0, 0)
NextNext
End Sub
Private Sub cmdThreshold_Click()ThresholdEnd Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileNamePicture1.Picture = LoadPicture(namafile)Text1.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
21/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
21
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
22/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
22
Latihan 07
PROGRAM TRANSLASI CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As Integer
Sub Translasi()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long, Gray As Integer
If Text1.Text = "" Then Text1.Text = 0If Text2.Text = "" Then Text2.Text = 0
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
23/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
23
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
'=== PEMESANAN Array Pada Data R,G,B ====
ReDim DataR(Lebar, Tinggi) As Integer 'baris,kolomReDim DataG(Lebar, Tinggi) As IntegerReDim DataB(Lebar, Tinggi) As Integer'========================================
With Picture2.Cls.Height = Tinggi.Width = Lebar
End With
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
Xbaru = X + Int(Text1.Text)Ybaru = Y + Int(Text2.Text)
Picture2.PSet (Xbaru, Ybaru), RGB(Red, Green, Blue)
NextNext
End Sub
Private Sub cmdLoad_Click()
End Sub
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
24/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
24
Private Sub cmdTranslasi_Click()If Text1.Text = "" And Text2.Text = "" Thena = MsgBox("Tentukan nilai pergeseran X atau Y nya...!!!", vbCritical, "Warning")ElseTranslasiEnd If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenText2.SetFocusEnd If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then
cmdTranslasi.SetFocusEnd If
End Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileNamePicture1.Picture = LoadPicture(namafile)Text3.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
25/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
25
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
26/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
26
Latihan 08
PROGRAM FLIPPING CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As Integer
Sub Flipping()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long, Gray As IntegerDim a As Integer, b As Integer
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
27/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
27
If Text1.Text = "" Then Text1.Text = 0If Text2.Text = "" Then Text2.Text = 0
a = Int(Text1.Text)b = Int(Text2.Text)
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer 'baris,kolomReDim DataG(Lebar, Tinggi) As IntegerReDim DataB(Lebar, Tinggi) As Integer'========================================
With Picture2.Cls.Height = Tinggi
.Width = LebarEnd With
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam red
DataR(X, Y) = RedTot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
If Text1.Text = 0 ThenXbaru = X
Ybaru = ((2 * b) - (Y + 2))ElseIf Text2.Text = 0 ThenXbaru = ((2 * a) - (X + 2))Ybaru = YElseXbaru = ((2 * a) - (X + 2))Ybaru = ((2 * b) - (Y + 2))End If
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
28/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
28
Picture2.PSet (Xbaru, Ybaru), RGB(Red, Green, Blue)Next
NextEnd Sub
Private Sub cmdFlipping_Click()If Text1.Text = "" And Text2.Text = "" Thena = MsgBox("Tentukan nilai flipping X atau Y nya...!!!", vbCritical, "Warning")ElseFlippingEnd If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenText2.SetFocus
End IfEnd Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThencmdFlipping.SetFocusEnd If
End Sub
Private Sub cmdLoad_Click()
Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileNamePicture1.Picture = LoadPicture(namafile)Text3.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
29/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
29
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
30/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
30
Latihan 09
PROGRAM SCALLING CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As IntegerDim skala As Integer
Private Sub HScroll1_Change()Dim Tinggi As Integer, Lebar As Integer
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
31/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
31
Dim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long, Gray As Integer
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeight
Lebar = Picture1.ScaleWidth
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer 'baris,kolomReDim DataG(Lebar, Tinggi) As IntegerReDim DataB(Lebar, Tinggi) As Integer'========================================
M = 0N = 0skala = HScroll1.ValueLabel1.Caption = HScroll1.Value
With Picture2.Cls.Height = Tinggi.Width = Lebar
End With
'==== PROSES PENGAMBILAN CITRA ====================For X = 0 To Lebar - 1 'kolom
For Y = 0 To Tinggi - 1 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
If skala > 0 Then'Skala BesarA = N + (skala / 2)b = M + (skala / 2)
Picture2.Height = Picture1.Height * skalaPicture2.Width = Picture1.Width * skala
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
32/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
32
Picture2.PSet (M, N), RGB(Red, Green, Blue)Picture2.PSet (M, A), RGB(Red, Green, Blue)Picture2.PSet (b, N), RGB(Red, Green, Blue)Picture2.PSet (b, A), RGB(Red, Green, Blue)
N = N + skala
ElseIf skala < 0 Then'Skala KecilXnew = X / (-skala): Ynew = Y / (-skala)Picture2.Height = Picture1.Height / (-skala)Picture2.Width = Picture1.Width / (-skala)Picture2.PSet (Xnew, Ynew), RGB(Red, Green, Blue)
ElseIf skala = 0 ThenPicture2.PSet (X, Y), RGB(Red, Green, Blue)
End IfNextM = M + skala
N = 0Next
End Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileName
Picture1.Picture = LoadPicture(namafile)Text2.Text = namafileEnd Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
33/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
33
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
34/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
34
Latihan 10
PROGRAM CROPPING CITRA
Desain Form
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As Integer
Private Sub cmdCropping_Click()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long, Gray As Integer
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
35/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
35
If Text1.Text = "" Then Text1.Text = 0If Text2.Text = "" Then Text2.Text = 0If Text3.Text = "" Then Text1.Text = 0If Text4.Text = "" Then Text2.Text = 0
X1 = Int(Text1.Text)
X2 = Int(Text4.Text)Y1 = Int(Text2.Text)Y2 = Int(Text3.Text)
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer 'baris,kolomReDim DataG(Lebar, Tinggi) As IntegerReDim DataB(Lebar, Tinggi) As Integer'========================================
With Picture2.Cls.Height = Tinggi.Width = Lebar
End With
'==== PROSES PENGAMBILAN CITRA ====================For X = X1 To X2 'kolom
For Y = Y1 To Y2 'Baris'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
Picture2.PSet (X, Y), RGB(Red, Green, Blue)
NextNext
End Sub
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
36/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
36
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileName
Picture1.Picture = LoadPicture(namafile)Text5.Text = namafileEnd Sub
Hasil Program
Latihan 11
PROGRAM HISTOGRAM CITRA
Desain Form
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
37/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
37
Listing Program
Dim DataR() As Integer, DataB() As Integer, DataG() As IntegerDim HrRed() As Long, HrBlue() As Long, HrGreen() As LongDim HrGrey() As Long, e As Integer, Maxgrey As IntegerDim X As Integer, Y As Integer
Dim Maxred As Integer, Maxgreen As Integer, Maxblue As Integer, MinGrey As Integer
Sub Histogram()Dim Tinggi As Integer, Lebar As IntegerDim Red As Integer, Green As Integer, Blue As IntegerDim X As Integer, Y As IntegerDim Tot_Pix As Long, Gray As Integer
'========= Mendapatkan Tinggi dan Lebar Citra =====Tinggi = Picture1.ScaleHeightLebar = Picture1.ScaleWidth
'=== PEMESANAN Array Pada Data R,G,B ====ReDim DataR(Lebar, Tinggi) As Integer 'baris,kolom
ReDim DataG(Lebar, Tinggi) As IntegerReDim DataB(Lebar, Tinggi) As IntegerReDim HrRed(0 To 255) As LongReDim HrGreen(0 To 255) As LongReDim HrBlue(0 To 255) As LongReDim HrGrey(0 To 255) As Long'========================================
'==== PROSES PENGAMBILAN CITRA ====================
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
38/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
38
For X = 0 To Lebar - 1 'kolomFor Y = 0 To Tinggi - 1 'Baris
'===== Get Total Pixel =======Tot_Pix = Picture1.Point(X, Y)'=============================
'===== Get Red, Green, Blue ==Red = Tot_Pix And 255
'Rekam redDataR(X, Y) = Red
Tot_Pix = Tot_Pix / 256Green = Tot_Pix And 255
'Rekam greenDataG(X, Y) = Green
Tot_Pix = Tot_Pix / 256Blue = Tot_Pix And 255
'Rekam BlueDataB(X, Y) = Blue
'=============================
Grey = Int((Red + Green + Blue) / 3)
If Red > 255 Then Red = 255If Green > 255 Then Green = 255If Blue > 255 Then Blue = 255If Grey > 255 Then Grey = 255
HrRed(Red) = HrRed(Red) + 1HrGreen(Green) = HrGreen(Green) + 1HrBlue(Blue) = HrBlue(Blue) + 1HrGrey(Grey) = HrGrey(Grey) + 1
NextNext
For i = 0 To 255If Maxgrey < HrGrey(i) Then Maxgrey = HrGrey(i)If Maxred < HrRed(i) Then Maxred = HrRed(i)If Maxgreen < HrGreen(i) Then Maxgreen = HrGreen(i)If Maxblue < HrBlue(i) Then Maxblue = HrBlue(i)
a = Picture2.Height - HrGrey(i) / eb = Picture3.Height - HrRed(i) / ec = Picture4.Height - HrGreen(i) / e
d = Picture5.Height - HrBlue(i) / eX1 = i: Y1 = 0X2 = iPicture2.Line (X1, a)-(X2, Picture2.Height), RGB(i, i, i)Picture3.Line (X1, b)-(X2, Picture3.Height), RGB(i, 0, 0)Picture4.Line (X1, c)-(X2, Picture4.Height), RGB(0, i, 0)Picture5.Line (X1, d)-(X2, Picture5.Height), RGB(0, 0, i)
NextMinGrey = Maxgrey
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
39/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
39
End Sub
Private Sub cmdLoad_Click()Dim StrFileName As String
cd.ShowOpencd.DialogTitle = "Load Gambar"StrFileName = cd.FileNamePicture1.Picture = LoadPicture(StrFileName)
End Sub
Private Sub cmdHistogram_Click()e = 1HistogramLabel1.Caption = MaxgreyLabel2.Caption = Maxred
Label3.Caption = MaxgreenLabel4.Caption = MaxblueEnd Sub
Private Sub Form_Load()Maxgrey = 0Maxred = 0Maxgreen = 0Maxblue = 0End Sub
Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y AsSingle)lblNilai.Caption = Str(X)End Sub
Hasil Program
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
40/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
40
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
41/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
41
Latihan 12
PROGRAM ROTATION CITRA
Desain Form
Listing Program
Private Sub cmdRotate_Click()Const Pi = 3.14159265359angle = Val(Text1.Text)Picture2.Cls
Call bmp_rotate(Picture1, Picture2, angle)End Sub
Sub bmp_rotate(pic1 As Control, pic2 As Control, ByVal theta!)Const Pi = 3.14159265359Dim c1x As IntegerDim c1y As IntegerDim c2x As Integer
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
42/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
42
Dim c2y As IntegerDim a As SingleDim r As IntegerDim p1x As IntegerDim p1y As IntegerDim p2x As Integer
Dim p2y As IntegerDim n As Integer
c1x = pic1.ScaleWidth / 2c1y = pic1.ScaleHeight / 2c2x = pic2.ScaleWidth / 2c2y = pic2.ScaleHeight / 2
n = pic2.ScaleWidthIf n < pic2.ScaleHeight Then n = pic2.ScaleHeightn = n / 2 - 1For p2x = 0 To n
For p2y = 0 To n
If p2x = 0 Thena = Pi / 2
Elsea = Atn(p2y / p2x)
End Ifr = Sqr(1& * p2x * p2x + 1& * p2y * p2y)
p1x = r * Cos(a + theta)p1y = r * Sin(a + theta)
c0& = pic1.Point(c1x + p1x, c1y + p1y)c1& = pic1.Point(c1x - p1x, c1y - p1y)c2& = pic1.Point(c1x + p1y, c1y - p1x)
c3& = pic1.Point(c1x - p1y, c1y + p1x)If c0& -1 Then pic2.PSet (c2x + p2x, c2y + p2y), c0&If c1& -1 Then pic2.PSet (c2x - p2x, c2y - p2y), c1&If c2& -1 Then pic2.PSet (c2x + p2y, c2y - p2x), c2&If c3& -1 Then pic2.PSet (c2x - p2y, c2y + p2x), c3&
Next
t% = DoEvents()Next
End Sub
Private Sub cmdLoad_Click()Dim namafile As StringCD.DialogTitle = "Loading Gambar"CD.Filter = "Jpg file (*.jpg) |*.jpg"CD.ShowOpennamafile = CD.FileNamePicture1.Picture = LoadPicture(namafile)Text2.Text = namafileEnd Sub
7/25/2019 MODUL DASAR IMAGE PROCESSING.pdf
43/43
MODUL PRAKTIKUM DASAR IMAGE PROCESSING
Hasil Program