modul dasar image processing.pdf

Upload: selfia

Post on 28-Feb-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 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