assalamualaikum wr.wb selamat datang di blog aini

Jumat, 28 Juni 2013

PENGOLAHAN CITRA

pengeolahan citra





caranya :
  1. Public Class Form1  
  2.     Dim bmap As Bitmap  
  3.   
  4.   
  5.     Private Sub Openbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Openbtn.Click  
  6.         OpenFileDialog1.InitialDirectory = "c:\"  
  7.         OpenFileDialog1.Title = "Open Images"  
  8.         OpenFileDialog1.Filter = "Gambar|*.bmp;*.gif;*.jpg;*.png"  
  9.         If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then  
  10.             PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)  
  11.             Exit Sub  
  12.         End If  
  13.   
  14.     End Sub  
  15.   
  16.     Private Sub Grayscale_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grayscale.Click  
  17.         If PictureBox1.Image Is Nothing Then  
  18.             MsgBox("WARNING : Tidak ada gambar untuk di konversi!")  
  19.             Exit Sub  
  20.         End If  
  21.   
  22.         Dim PICTURE As New Bitmap(PictureBox1.Image)  
  23.         Dim X, Y, warna As Integer  
  24.          
  25.   
  26.         For X = 0 To PICTURE.Width - 1  
  27.             For Y = 0 To PICTURE.Height - 1  
  28.                 Dim p = PICTURE.GetPixel(X, Y)  
  29.                 warna = CInt(p.R * 0.3 + p.G * 0.59 + p.B * 0.11)  
  30.                 PICTURE.SetPixel(X, Y, Color.FromArgb(warna, warna, warna))  
  31.                 PictureBox1.Image = PICTURE  
  32.             Next  
  33.             If X Mod 10 = 0 Then  
  34.                 PictureBox1.Invalidate()  
  35.                 PictureBox1.Refresh()  
  36.             End If  
  37.   
  38.         Next  
  39.         If Y Mod 10 = 0 Then  
  40.             PictureBox1.Invalidate()  
  41.             PictureBox1.Refresh()  
  42.         End If  
  43.     End Sub  
  44.   
  45.   
  46.     Private Sub Savebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Savebtn.Click  
  47.         SaveFileDialog1.FileName = "Save Images"  
  48.         SaveFileDialog1.Filter = "Gambar|*.bmp;*.gif;*.jpg;*.png"  
  49.         If SaveFileDialog1.ShowDialog() = DialogResult.OK Then  
  50.             PictureBox1.Image.Save(SaveFileDialog1.FileName)  
  51.         End If  
  52.     End Sub  
  53.   
  54.     Private Sub Binerbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Binerbtn.Click  
  55.         If PictureBox1.Image Is Nothing Then  
  56.             MsgBox("WARNING : Tidak ada gambar untuk di konversi!")  
  57.             Exit Sub  
  58.         End If  
  59.   
  60.         bmap = New Bitmap(PictureBox1.Image)  
  61.         PictureBox1.Image = bmap  
  62.         Dim tempbmp As New Bitmap(PictureBox1.Image)  
  63.         Dim DX As Integer  
  64.         Dim DY As Integer  
  65.         Dim Red, Green, Blue, Grey As Integer  
  66.         Dim X, Y As Integer  
  67.           
  68.         With tempbmp  
  69.             For X = DX To .Height - DX - 1  
  70.                 For Y = DY To .Width - DY - 1  
  71.                     Red = CInt(.GetPixel(Y, X).R)  
  72.                     Green = CInt(.GetPixel(Y, X).G)  
  73.                     Blue = CInt(.GetPixel(Y, X).B)  
  74.                     Grey = (Red + Green + Blue) / 3  
  75.                     'proses perubahan ke biner (hitam putih)  
  76.                     Dim clr As Color = bmap.GetPixel(Y, X)  
  77.                     If (Grey < 128) Then  
  78.                         Red = 0  
  79.                         Green = 0  
  80.                         Blue = 0  
  81.                     Else  
  82.                         Red = 255  
  83.                         Blue = 255  
  84.                         Green = 255  
  85.                     End If  
  86.                     bmap.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue))  
  87.                 Next  
  88.                 If X Mod 10 = 0 Then  
  89.                     PictureBox1.Invalidate()  
  90.                     PictureBox1.Refresh()  
  91.                 End If  
  92.             Next  
  93.         End With  
  94.     End Sub  
  95.   
  96.     Private Sub mbitbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbitbtn.Click  
  97.         If PictureBox1.Image Is Nothing Then  
  98.             MsgBox("WARNING : Tidak ada gambar untuk di konversi!")  
  99.             Exit Sub  
  100.         End If  
  101.   
  102.         bmap = New Bitmap(PictureBox1.Image)  
  103.         PictureBox1.Image = bmap  
  104.         Dim tempbmp As New Bitmap(PictureBox1.Image)  
  105.         Dim DX As Integer = 1  
  106.         Dim DY As Integer = 1  
  107.         Dim Red As Integer, Green As Integer, Blue As Integer, Grey As Integer  
  108.         Dim X, Y As Integer  
  109.         Dim m As Integer = 2  
  110.         Dim Xth As Double  
  111.           
  112.         With tempbmp  
  113.             For X = DX To .Height - DX - 1  
  114.                 For Y = DY To .Width - DY - 1  
  115.                     Red = CInt(.GetPixel(Y, X).R)  
  116.                     Green = CInt(.GetPixel(Y, X).G)  
  117.                     Blue = CInt(.GetPixel(Y, X).B)  
  118.                     Grey = (Red + Green + Blue) / 3  
  119.                     Xth = (2 ^ m) * Int(Grey / 2 ^ m)  
  120.                     If (Xth > 256) Then  
  121.                         Red = 255  
  122.                         Green = 255  
  123.                         Blue = 255  
  124.                     Else  
  125.                         Red = Xth  
  126.                         Green = Xth  
  127.                         Blue = Xth  
  128.                     End If  
  129.   
  130.                     bmap.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue))  
  131.                 Next  
  132.                 If X Mod 10 = 0 Then  
  133.                     PictureBox1.Invalidate()  
  134.                     PictureBox1.Refresh()  
  135.                 End If  
  136.             Next  
  137.         End With  
  138.     End Sub  
  139.   
  140.     Private Sub Brightbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Brightbtn.Click  
  141.         If PictureBox1.Image Is Nothing Then  
  142.             MsgBox("WARNING : Tidak ada gambar untuk di konversi!")  
  143.             Exit Sub  
  144.         End If  
  145.   
  146.         bmap = New Bitmap(PictureBox1.Image)  
  147.         PictureBox1.Image = bmap  
  148.         Dim tempbmp As New Bitmap(PictureBox1.Image)  
  149.         Dim DX As Integer = 1  
  150.         Dim DY As Integer = 1  
  151.         Dim Red As Integer, Green As Integer, Blue As Integer  
  152.         Dim X, Y As Integer  
  153.         Dim tb As Integer  
  154.         tb = 75  
  155.           
  156.         With tempbmp  
  157.             For X = DX To .Height - DX - 1  
  158.                 For Y = DY To .Width - DY - 1  
  159.                     Red = CInt(.GetPixel(Y, X).R)  
  160.                     Green = CInt(.GetPixel(Y, X).G)  
  161.                     Blue = CInt(.GetPixel(Y, X).B)  
  162.                     'Grey = (Red + Green + Blue) / 3 'konversi warna pada pixel Y,X ke grey   
  163.                     Red = Red + tb  
  164.                     Green = Green + tb  
  165.                     Blue = Blue + tb  
  166.                     If (Red > 255) Then  
  167.                         Red = 255  
  168.                     End If  
  169.                     If (Blue > 255) Then  
  170.                         Blue = 255  
  171.                     End If  
  172.                     If (Green > 255) Then  
  173.                         Green = 255  
  174.                     End If  
  175.                     bmap.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue))  
  176.                 Next  
  177.                 If X Mod 10 = 0 Then  
  178.                     PictureBox1.Invalidate()  
  179.                     PictureBox1.Refresh()  
  180.                 End If  
  181.             Next  
  182.         End With  
  183.     End Sub  
  184.   
  185.     Private Sub Contrastbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Contrastbtn.Click  
  186.         If PictureBox1.Image Is Nothing Then  
  187.             MsgBox("WARNING : Tidak ada gambar untuk di konversi!")  
  188.             Exit Sub  
  189.         End If  
  190.   
  191.         bmap = New Bitmap(PictureBox1.Image)  
  192.         PictureBox1.Image = bmap  
  193.         Dim tempbmp As New Bitmap(PictureBox1.Image)  
  194.         Dim DX As Integer = 1  
  195.         Dim DY As Integer = 1  
  196.         Dim Red, Green, Blue As Integer  
  197.         Dim X, Y As Integer  
  198.         Dim tc As Integer  
  199.         tc = 5  
  200.           
  201.         With tempbmp  
  202.             For X = DX To .Height - DX - 1  
  203.                 For Y = DY To .Width - DY - 1  
  204.                     Red = CInt(.GetPixel(Y, X).R)  
  205.                     Green = CInt(.GetPixel(Y, X).G)  
  206.                     Blue = CInt(.GetPixel(Y, X).B)  
  207.                     'Grey = (Red + Green + Blue) / 3 'konversi warna pada pixel Y,X ke grey   
  208.                     Red = Red * tc  
  209.                     Blue = Blue * tc  
  210.                     Green = Green * tc  
  211.                     If (Red > 255) Then  
  212.                         Red = 255  
  213.                     End If  
  214.                     If (Blue > 255) Then  
  215.                         Blue = 255  
  216.                     End If  
  217.                     If (Green > 255) Then  
  218.                         Green = 255  
  219.                     End If  
  220.                     bmap.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue))  
  221.                 Next  
  222.                 If X Mod 10 = 0 Then  
  223.                     PictureBox1.Invalidate()  
  224.                     PictureBox1.Refresh()  
  225.                 End If  
  226.             Next  
  227.         End With  
  228.     End Sub  
  229.   
  230.     Private Sub Inversibtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Inversibtn.Click  
  231.         If PictureBox1.Image Is Nothing Then  
  232.             MsgBox("WARNING : Tidak ada gambar untuk di konversi!")  
  233.             Exit Sub  
  234.         End If  
  235.   
  236.         bmap = New Bitmap(PictureBox1.Image)  
  237.         PictureBox1.Image = bmap  
  238.         Dim tempbmp As New Bitmap(PictureBox1.Image)  
  239.         Dim DX As Integer  
  240.         Dim DY As Integer  
  241.         Dim X, Y As Integer  
  242.           
  243.         With tempbmp  
  244.             For X = DX To .Height - DX - 1  
  245.                 For Y = DY To .Width - DY - 1  
  246.                     Dim clr As Color = bmap.GetPixel(Y, X)  
  247.                     'inversi 8 bit = 255-x  
  248.                     clr = Color.FromArgb(255, 255 - clr.R, 255 - clr.G, 255 - clr.B)  
  249.                     bmap.SetPixel(Y, X, clr)  
  250.                 Next  
  251.                 If X Mod 10 = 0 Then  
  252.                     PictureBox1.Invalidate()  
  253.                     PictureBox1.Refresh()  
  254.                 End If  
  255.             Next  
  256.         End With  
  257.     End Sub  
  258.   
  259.     Private Sub ExitBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitBtn.Click  
  260.         End  
  261.     End Sub  
  262. End Class   

Tidak ada komentar: