Bagi yang sedang belajar pemrograman pengolahan citra digital pasti familiar dengan pustaka OpenCV yang merupakan pustaka pengolahan citra paling banyak digunakan saat ini. Salah satu keunggulan pustaka OpenCV adalah support terhadap ribuan algoritma pengolahan citra. Nah, pustaka EmguCV yang akan dibahas ini merupakan .NET wrapper pustaka OpenCV. sehingga fungsi-fungsi OpenCV dapat dipanggil dari bahasa yang kompatibel dengan .NET seperti C#, VB, dan VC++.
Perbandingan Pustaka Pengolahan Citra
Saat ini telah ada banyak pustaka pengolahan citra untuk .NET seperti OpenCV, EmguCV, AForge.NET, dan ImageProcessor. Kali ini saya akan membahas perbandingan antara OpenCV, EmguCV, dan AForge.NET.
License Agreement
Tabel di bawah menunjukkan perbandingan license agreement yang digunakan.
Dokumentasi
Tabel di bawah menunjukkan perbandingan dokumentasi dan materi lainnya.
Untuk dokumentasi, OpenCV yang telah dirilis sejak 1999 telah memiliki dokumentasi dan tutorial yang sangat banyak. Sobat dapat dengan mudah mendapatkan support dari forum-forum, dokumen serta paper. Karena EmguCV merupakan wrapper dari OpenCV, meskipun sampelnya masih sedikit, contoh dari OpenCV dapat digunakan untuk membantu menangani masalah pada EmguCV.
Kemudahan Penggunaan
OpenCV ditulis dan dikembangan dengan bahasa C. EmguCV merupakan .NET wrapper yang mengenkapsulasi fitur-fitur pada OpenCV, sedangkan AForge.NET ditulis murni dengan pustaka .NET, sehingga lebih user-friendly.
Kemudahan penggunaan sejatinya berbeda-beda tergantung kemampuan dan pengalaman pengguna. Jika sobat lebih mahir menggunakan C dan C++, OpenCV dapat menjadi pilihan.
Perbandingan Performa
Proses pengolahan citra terkadang membutuhkan perhitungan yang kompleks dan besar, apalagi jika memproses citra dengan dimensi yang besar, atau video yang membutuhkan pemrosesan secara waktu nyata. Di sini ditunjukkan perbandingan proses grayscaling dan binarization pada ketiga pustaka. Kedua algoritma tersebut dipilih sebagai representasi operasi pengolahan citra karena sebagian besar proses pada pengolahan citra melibatkan baca/tulis memori dan operasi matriks.
5 metode grayscaling dan binarization :
- Memanggil fungsi OpenCV dengan C.
- Memanggil fungsi AForge.NET dengan C#.
- Memanggil fungsi EmguCV dengan C#.
- Memanggil fungsi OpenCV menggunakan P/Invoke dengan C#.
- Custom method pada C#.
Data tersebut dapat direpresentasikan ke dalam grafik pada diagram di bawah.
Kesimpulan
Saat ini EmguCV masih menjadi pustaka pengolahan citra terbaik, terutama untuk programmer C#. Dengan mengkombinasikan pustaka OpenCV yang powerful dan kehandalan kerangka kerja .NET seperti automatic memory management, garbage collection, dan XML-serializable image.Referensi
[1] Shin Shi. 2013. Emgu CV Essentials. Birmingham: Packt Publishing.[2] http://www.emgu.com/
[3] http://opencv.org/
[4] http://www.aforgenet.com/framework/
Tutorial EmguCV selanjutnya akan membahas cara menginstal EmguCV :
http://erinqvnm.blogspot.com/2016/10/emgucv-dengan-c-tutorial-part-2.html
Salam luar biasa,
ErinQvnm
No comments:
Post a Comment