kita bisa saja membuat algoritma pendeteksi wajah itu di program kita. namun itu akan sangat sulit, butuh banyak percobaan dan memakan banyak waktu. tapi, sekarang ada solusinya. ada sebuah program opensource yang mebahas tentang ini. yaitu OpenCV dan EmguCV.
- OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
- Emgu CV is a cross platform .Net wrapper to the Intel OpenCV image processing library. Allowing OpenCV functions to be called from .NET compatible languages such as C#, VB, VC++, IronPython etc. The wrapper can be compiled in Mono and run on Linux / Mac OS X.
Bentuk dari librari OpenCV dan EmguCV adalah file .dll. file ini harus di sertakan satu folder dengan file .exe program kita. OK. lets Try..
Buka Visual Studio, 2008/ 2010 sama aja. trus buat project baru “Windows Form Application”, lalu masukan sebuah pictureBox.
Attribut PictureBox1
- Dock: Fill
- Size Mode: Zoom
- Emgu.CV.dll
- Emgu.CV.UI.dll
- Emgu.Util.dll
Caranya:
- lihat pada sisi kiri (jendela Visual Studio), pada solution explorer, klik kanan di “references” -> pilih “Add Reference”
- Pilih Tab “Browse” (Saya sarankan anda telah mengkopi dll yang diperlukan: cvextern.dll, Emgu.CV.dll, Emgu.CV.UI.dll, dan Emgu.Util.dll ke dalam folder “bin\debug”) tambahkan satu persatu dll nya ke dalam reference, kecual “cvextern.dll“.
Tapi kenapa cvextern.dll perlu juga di masukan satu folder dengan dll lainya?? yaitu karena dll milik EmguCV membutuhkan cvextern.dlluntuk meload fungsi-fungsi grafis.
Setelah itu, Masukan code ini di dalam Form1.vb:
Imports Emgu.CV
Imports Emgu.Util
Imports Emgu.CV.Structure
Imports Emgu.CV.UI
Public Class Form1
Private Sub Form1_Load() Handles MyBase.Load
Dim p As String = Application.StartupPath
PictureBox1.Image = Image.FromFile("image.jpg")
Dim ImageBgr As New Image(Of Bgr, Byte)(PictureBox1.Image)
Dim HaarXML As NewHaarCascade("haarcascade_frontalface_alt_tree.xml")
Dim GrayImage As Image(Of Gray, Byte) = ImageBgr.Convert(Of Gray, Byte)()
Dim ImgGraphics As Graphics =Graphics.FromImage(PictureBox1.Image)
Dim MPen As New Pen(Brushes.YellowGreen, 8)
' Will take a several minute.. please wait..
For Each m In GrayImage.DetectHaarCascade(HaarXML)(0)
ImgGraphics.DrawRectangle(MPen, m.rect)
Next
End Sub
End Class
[!] Aku ingetin lagi, saat menjalankan program percobaan anda, pastikan dll ini berada satu folder dengan exe file anda:
- cvextern.dll
- Emgu.CV.dll
- Emgu.CV.UI.dll
- Emgu.Util.dll
Untuk lebih jelas, silahkan DOWNLOAD PROJEKNYA DISINI
link: http://XKom.blogspot.com
No comments:
Post a Comment