Pengolahan Citra Digital (Konvulusi)

download Pengolahan Citra Digital (Konvulusi)

of 12

Transcript of Pengolahan Citra Digital (Konvulusi)

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    1/12

    BAB VIKONVOLUSI

    Capaian Pembelajaran

    Dapat memahami apa itu konvolusi Dapat memahami manfaat konvolusi

    Mampu membuat program Image Processing kovolusi

    dengan menggunakan

    Delphi 7 serta dapat menguji aplikasi konvolusi dengan berbagai mask

    konvolusi

    7.1 Bahan dan Alat

    Komputer PC

    Software Delphi 07

    7.2 Landasan Teori

    Konvolusi 2 buah fungsif(x)dang(x)didefinisikan sebagai

    notasi merupakan operator konvolusi! "ntuk fungsi diskrit konvolusi

    didefinisikan sebagai#

    dimanag(x) merupakan kernel konvolusi atau kernel filter!

    "ntuk fungsi dua dimensi# operasi konvolusi didefinisikan sebagai $untuk

    fungsi kontinu%

    dan untuk fungsi diskrit# didefinisikan sebagai

    &ungsi filter g(x,y)disebut juga filter konvolusi# mask konvolusi# kernel

    konvolusi# atau template! 'lustrasi konvolusi diperlihatkan pada gambar di

    bawah ini

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    2/12

    f(i,j) = Ax0 + Bx1 +Cx2 +Dx3 + Ex + !x" +#x$+ %x& + Ix'

    Perhatikan kasus berikut# (itra

    ) ) * * +

    ) ) + + *

    2 ) * * *

    ) ) ) + +

    Dikonvolusi menggunakan templete akan menghasilkan (itra

    ,ang baru dengan nilai-nilai .

    2 / 7 1

    2 + 7 7 1

    * 2 7 7 1

    1 1 1 1 1

    emplate 3 template ,ang sering mun(ul penggunaann,a dalam pengolahan

    (itra $meminimalisir noise pada (itra# edge dete(tion# filtering# dan lain 3 lain%

    adalah template klasikal *4*! emplate ,ang diaplikasikan sebagai o * assfier adalah

    Pengaplikasian untuk -ig- * ass fier digunakan template

    emplate ,ang lain ,ang sering juga digunakan untuk melakukan smoo-ing

    (itra adalah

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    3/12

    abel ) memperlihatkan operasi%ig- * Pass !ierdan.o * Pass !ierpada

    suatu (itra ,ang memiliki nilai 3 nilai intensitas pi4el berikut

    0 0 0 0 0

    0 ) ) ) 0

    0 ) ) ) 0

    0 ) ) ) 0

    0 ) ) ) 0

    0 ) ) 0

    0 ) ) ) 0

    0 0 0 0 0

    Contoh (itra sesudah dan sebeum dilakukan proses filtering dan konvolusi

    dapat dilihat pada tabel di bawah ini

    7.3 Prosedur Percoaan

    "ntuk peran(angan program konvolusi menggunakan Delphi dapat kita lakukan

    langkah 3 langkah berikut

    )! 5alankan Delphi!

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    4/12

    2! ambahan i(on Panel)# Panel2# 'mage)# 'mage2# 6utton)# 6utton2#

    Memo)# Memo2# MainMenu)# dan penPi(tureDialog pada form)

    "ntuk Panel )# 8ilai 3 nilai propert, pada obje(t inspe(tor adalah

    "ntuk 'mage)# i(on 'mage) letakkan di atas Panel) pada &orm)! 8ilai 3

    nilai propert, pada obje(t inspe(tor adalah

    "ntuk Panel2# 8ilai 3 nilai propert, pada obje(t inspe(tor adalah

    "ntuk 'mage2# i(on 'mage2 letakkan di atas Panel2 pada &orm)! 8ilai 3

    nilai propert, pada obje(t inspe(tor adalah

    "ntuk MainMenu)# klik 24 pada i(on MainMenu)# sehingga mun(ul

    tampilan sebagai berikut# atur sedemikian hingga# agar tampilan menjadi

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    5/12

    *! Klik 24 pada MainMenu) -9 &ile -9 pen# setelah mun(ul halaman editor#

    tuliskan listing program berikut

    pro(edure &orm)!pen)Cli(k$Sender bje(t%:

    begin

    if not penPi(tureDialog)!;4e(ute then e4it else

    begin

    gambar . 6itmap!Create:

    gambar!

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    6/12

    if gambar!Pi4el&ormat ?9 pf2+bit then

    gambar!Pi4el&ormat . Pf2+bit:

    'mage)!Pi(ture!6itmap . gambar:

    end:

    +! Kembali ke &orm)# Klik 24 pada MainMenu) 'mage Pro(essing Konvolusi#

    setelah mun(ul halaman editor# tuliskan listing berikut

    pro(edure &orm)!Konvolusi)Cli(k$Sender bje(t%:(onst konvolusi arra,@0!!)#0!!2#0!!2Aof smallint .

    $$$)#)#)%#$)#)#)%#$)#)#)%%#

    $$0#0#0%#$0#0#0%#$0#0#0%%%:

    (onst konvolusi2 arra,@0!!)#0!!2#0!!2Aof smallint .

    $$$0#-)#0%#$-)#+#-)%#$0#-)#0%%#

    $$0#0#0%#$0#0#0%#$0#0#0%%%:

    (onst konvolusi* arra,@0!!)#0!!2#0!!2Aof smallint .

    $$$)#*#)%#$*#)#*%#$)#*#)%%#

    $$0#0#0%#$0#0#0%#$0#0#0%%%:

    var row arra,@0!!BAof pb,tearra,:

    (ol pb,tearra,:

    4#, smallint:

    i#j#k#p smallint:

    image tbitmap:

    sum#jum longint:

    begin

    if adio6utton)!Che(ked then

    begin

    P.-)20:

    image . tbitmap!Create:

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    7/12

    'mage!ssign$gambar%:

    for ,.) to gambar!Eeight-2 do

    begin

    for i.-) to ) do

    row@i>)A. 'mage!S(aniA: (ol . gambar!S(an$konvolusi@0#i>)#j>)A1row@i>)#4>j1*A%:

    jum.0:

    for i.-) to ) do

    for j.-) to ) do

    jum.jum>$$konvolusi%@)#i>)#j>)A1row@i>)#4>j1*A%: sum . $sum > jum%>p:

    if sum92// then sum.2//:

    if sum?0 then sum.0:

    for k.0 to 2 do (ol@4>kA.sum:

    in($4#*%:

    until 49.*1$gambar!Fidth-+%:

    end:

    'mage2!Pi(ture!bitmap . gambar:

    gambar!Saveo&ile$=konvulusi)!bmp=%:

    'mage!free:

    end:

    if adio6utton2!Che(ked then

    begin

    P.-)20:

    image . tbitmap!Create:

    'mage!ssign$gambar%:

    for ,.) to gambar!Eeight-2 do

    begin

    for i.-) to ) do

    row@i>)A. 'mage!S(aniA: (ol . gambar!S(an$konvolusi2@0#i>)#j>)A1row@i>)#4>j1*A%:

    jum.0:

    for i.-) to ) do

    for j.-) to ) do

    jum.jum>$$konvolusi2%@)#i>)#j>)A1row@i>)#4>j1*A%:

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    8/12

    sum . $sum > jum%>p:

    if sum92// then sum.2//:

    if sum?0 then sum.0:

    for k.0 to 2 do (ol@4>kA.sum:

    in($4#*%: until 49.*1$gambar!Fidth-+%:

    end:

    'mage2!Pi(ture!bitmap . gambar:

    gambar!Saveo&ile$=konvulusi)!bmp=%:

    'mage!free:

    end:

    if adio6utton*!Che(ked then

    begin

    P.-)20:

    image . tbitmap!Create: 'mage!ssign$gambar%:

    for ,.) to gambar!Eeight-2 do

    begin

    for i.-) to ) do

    row@i>)A. 'mage!S(aniA:

    (ol . gambar!S(an$konvolusi*@0#i>)#j>)A1row@i>)#4>j1*A%:

    jum.0:

    for i.-) to ) do

    for j.-) to ) do

    jum.jum>$$konvolusi*%@)#i>)#j>)A1row@i>)#4>j1*A%:

    sum . $sum > jum%>p:

    if sum92// then sum.2//:

    if sum?0 then sum.0:

    for k.0 to 2 do (ol@4>kA.sum:

    in($4#*%: until 49.*1$gambar!Fidth-+%:

    end:

    'mage2!Pi(ture!bitmap . gambar:

    gambar!Saveo&ile$=konvulusi)!bmp=%:

    'mage!free:

    end:

    end:

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    9/12

    /! Klik 24 pada MainMenu) -9 &ile -9 ;4it# setelah mun(ul halaman editor#

    tuliskan listing program berikut

    pro(edure &orm)!;4it)Cli(k$Sender bje(t%:

    begin

    (lose:

    end:

    ! ;ksekusikan program dengan menekan &G $un% pada ke,board# maka hasil

    ,ang di dapatkan adalah

    !." #lo$chart Pro%ra&

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    10/12

    !.' (asil Pro%ra&

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    11/12

    EP&

    SME'8H

  • 7/26/2019 Pengolahan Citra Digital (Konvulusi)

    12/12

    !.! Analisa Percoaan

    Dari per(obaan diatas bisa dianalisa

    Semakin besar ukuran image ,ang akan dikonvolusi maka akan semakin

    lama proses konvolusi ,ang dilakukan!

    Matriks pada konstanta konvolusi akan mempengaruhi hasil image baru!

    !.7 Kesi&)ulanPada per(obaan diatas bisa diambil kesimpulan

    Didapatkan hasil gambar ,ang berbeda pada setiap matriks ,ang

    digunakan# ,aitu $$)#)#)%#$)#)#)%#$)#)#)%%# $$0#-)#0%#$-)#+#-)%#$0#-)#0%%#

    $$)#*#)%#$*#)#*%#$)#*#)%%!