Pengembangan aplikasi yang besar biasanya terdiri dari beberapa proses yang rumit dan kompleks. Seringkali terdapat banyak algoritma dan code yang dibuat oleh pihak lain atau bahkan membuat sendiri.
Tentu ada sebagian programer yang lebih menyukai untuk mengembangkan sendiri tapi hal ini akan menjadi sedikit masalah bila ada yang ingin melanjutkan project, maka programer tersebut harus mempelajari “cara kerja” code yang dibuat oleh programer sebelumnya. Hal ini dapat dipersingkat jika kita menerapkan framework atau sering disebut kerangka kerja. Misalkan bilamana ada orang yang ingin melanjutkan suatu project (telah menggunakan framework), maka orang tersebut telah paham “cara kerja” nya sehingga pekerjaan menjadi fokus. Ada anggapan bahwa terkadang membuat (menulis) code lebih mudah daripada merawat code. Framework bukan saja sebuah library (pustaka) tapi merupakan kerangka kerja menyeluruh sehingga diharapkan pengembang aplikasi yang akan menggunakannya menjadi “rapi dan seragam” walau berbeda-beda programmernya dikarenakan progammer diharuskan untuk mengikuti framework. Ada banyak framework untuk pengembangan aplikasi yang fokus terhadap pengolahan citra dan salah satu yang terkenal adalah AForge.Net dan Accord.Net. Anda dapat mendownload di http://www.aforgenet.com/ atau http://code.google.com/p/aforge. AForge didesain untuk pengembangan dan periset yang mengkhususkan diri di Computer Vision dan Artificial Intelligence sedangkan Accord merupakan extends (perluasan) dari AForge, anda dapat mengunjungi di http://code.google.com/p/accord/.
Tentu ada sebagian programer yang lebih menyukai untuk mengembangkan sendiri tapi hal ini akan menjadi sedikit masalah bila ada yang ingin melanjutkan project, maka programer tersebut harus mempelajari “cara kerja” code yang dibuat oleh programer sebelumnya. Hal ini dapat dipersingkat jika kita menerapkan framework atau sering disebut kerangka kerja. Misalkan bilamana ada orang yang ingin melanjutkan suatu project (telah menggunakan framework), maka orang tersebut telah paham “cara kerja” nya sehingga pekerjaan menjadi fokus. Ada anggapan bahwa terkadang membuat (menulis) code lebih mudah daripada merawat code. Framework bukan saja sebuah library (pustaka) tapi merupakan kerangka kerja menyeluruh sehingga diharapkan pengembang aplikasi yang akan menggunakannya menjadi “rapi dan seragam” walau berbeda-beda programmernya dikarenakan progammer diharuskan untuk mengikuti framework. Ada banyak framework untuk pengembangan aplikasi yang fokus terhadap pengolahan citra dan salah satu yang terkenal adalah AForge.Net dan Accord.Net. Anda dapat mendownload di http://www.aforgenet.com/ atau http://code.google.com/p/aforge. AForge didesain untuk pengembangan dan periset yang mengkhususkan diri di Computer Vision dan Artificial Intelligence sedangkan Accord merupakan extends (perluasan) dari AForge, anda dapat mengunjungi di http://code.google.com/p/accord/.
Modul AForge dan Accord
Fitur framework AForge- AForge.Imaging - library with image processing routines and filters
- AForge.Vision - computer vision library
- AForge.Neuro - neural networks computation library
- AForge.Genetic - evolution programming library
- AForge.Fuzzy - fuzzy computations library
- AForge.MachineLearning - machine learning library
- AForge.Robotics - library providing support of some robotics kits
- AForge.Video - set of libraries for video processing
- Scientific Computing: Accord.Math; Accord.Statistics; Accord.MachineLearning; Accord.Neuro
- Signal and Image Processing: Accord.Imagng; Accord.Audio; Accord.Vision
- Support Librarie: Accord.Controls; Accord.Controls.Imaging; Accord.Controls.Audio; Accord.Controls.Vision
- Menampilkan citra menggunakan ImageBox
- Konversi citra kedalam matrix dan sebaliknya menggunakan ImageToMatrix, MatrixToImage
- Menampilkan matrix kedalam MessageBox dan kedalam DataGridBox
- Operasi matrix
- Operasi mengubah citra truecolor ke graycolor
- Operasi black white
- Operasi filtering, morphologi (akan dibahas pada bab selanjutnya)
Spesifikasi hardware dan software
Untuk saat ini penulis menggunakan CPU berikut- Intel(R) Core(TM) i3-2120 CPU @3.30Gzh 3.30
- System Type: 64-bit Operating System, x64-based processor
- Windows 10 Home, version 1803, OS Build 17134.228
- AForge version 2.2.5
- Accord version 3.8
http://www.aforgenet.com/framework/downloads.html
Pilihlah Library Only
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/aforge/AForge.NET%20Framework-2.2.5-(libs%20only).zip
Kemudian extract AForge.NET Framework-2.2.5-(libs only).zip, maka terdapat folder Release yang berisi *.dll yang siap kita gunakan untuk aplikasi kita
Juga link berikut http://accord-framework.net/, pilihlah archive saja
https://github.com/accord-net/framework/releases/download/v3.8.0/Accord.NET-3.8.0-archive.rar
Kemudian extract Accord.NET-3.8.0-archive.rar, juga terdapat folder Release, akan tetapi terdiri dari banyak folder sesuai dengan versi NET Framework yang akan menjadi target kita, penulis menggunakan Net45 saja karena pertimbangan dari versi yang sering digunakan oleh beberapa OS Windows
Baca Juga : Cara menambahkan library https://msdn.microsoft.com/en-us/library/ez524kew.aspx
Aplikasi Image Viewer berbasis Console
Kita akan belajar mengenai cara membuat aplikasi berikut
http://www.aforgenet.com/framework/samples/downloads/FiltersDemo.zip
Silahkan untuk download saja dan ujicoba sendiri, serasa kita akan membuat aplikasi seperti photoshop!
Nah kita akan membuat aplikasi berbasis CLI saja bukan Windows Form agar mudah dalam memahami alurnya. Untuk menampilkan gambar, cukup menggunakan ImageBox
http://accord-framework.net/docs/html/M_Accord_Controls_ImageBox_Show_8.htm
Sedangkan jenis filter yaitu
http://www.aforgenet.com/framework/docs/html/cdf93487-0659-e371-fed9-3b216efb6954.htm
Silahkan untuk membuat project, gunakan Net Framework seperti berikut
http://www.aforgenet.com/framework/samples/downloads/FiltersDemo.zip
Silahkan untuk download saja dan ujicoba sendiri, serasa kita akan membuat aplikasi seperti photoshop!
Nah kita akan membuat aplikasi berbasis CLI saja bukan Windows Form agar mudah dalam memahami alurnya. Untuk menampilkan gambar, cukup menggunakan ImageBox
http://accord-framework.net/docs/html/M_Accord_Controls_ImageBox_Show_8.htm
Sedangkan jenis filter yaitu
http://www.aforgenet.com/framework/docs/html/cdf93487-0659-e371-fed9-3b216efb6954.htm
Silahkan untuk membuat project, gunakan Net Framework seperti berikut
Tambahkan beberapa Library berikut
Berikut code lengkapnya
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing.Imaging;
using System.Drawing;
using AForge;
using AForge.Imaging.Filters;
using Accord.Controls;
namespace Image_Viewer
{
class Program
{
static void Main(string[] args)
{
Bitmap image = (Bitmap)Bitmap.FromFile("D:/image.jpg");
Accord.Controls.ImageBox.Show(image);
Console.ReadLine();
}
}
}
Coba modifikasi dengan efek blur berikut
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing.Imaging;
using System.Drawing;
using AForge;
using AForge.Imaging.Filters;
using Accord.Controls;
namespace Image_Viewer
{
class Program
{
static void Main(string[] args)
{
Bitmap image = (Bitmap)Bitmap.FromFile("D:/image.jpg");
Blur filter = new Blur();
// apply the filter
filter.ApplyInPlace(image);
Accord.Controls.ImageBox.Show(image);
Console.ReadLine();
}
}
}
Baca juga : http://www.aforgenet.com/framework/docs/html/be5cfa72-caa1-205b-d282-9abe2fc1c19b.htm dan http://www.aforgenet.com/framework/docs/html/3b7d8422-2d79-8019-8933-a0472040c124.htm
Hem.. biar lebih bagus, kita bisa tampilkan 2 image sekaligus dan diberikan setTitle(), nah perlu modifikasi code agar tidak terblock secara memory yaitu new Bitmap()using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing.Imaging;
using System.Drawing;
using AForge;
using AForge.Imaging.Filters;
using Accord.Controls;
namespace Image_Viewer
{
class Program
{
static void Main(string[] args)
{
Bitmap image = (Bitmap)Bitmap.FromFile("D:/image.jpg");
Accord.Controls.ImageBox.Show(new Bitmap(image)).SetTitle("Original");
Blur filter = new Blur();
// apply the filter
filter.ApplyInPlace(image);
Accord.Controls.ImageBox.Show(new Bitmap(image)).SetTitle("Blur");
Console.ReadLine();
}
}
}
Nah pada http://www.softscients.web.id/2018/08/bab-3-framework-aforge-dan-accord-net.html
Kita sudah belajar 3 hal sekaligus yaitu pemanfaatan secara bersama-sama library AForge dan Accord; menampilkan Image, serta modifikasi nya
Cukup mudah bukan?
No comments:
Post a Comment