Pengantar Pemrograman OpenCV C Di Linux

2y ago
80 Views
3 Downloads
447.40 KB
14 Pages
Last View : Today
Last Download : 2m ago
Upload by : Ryan Jay
Transcription

Pengantar Pemrograman OpenCV C di LinuxBismillahirrahmanirrahim.Tulisan ini ditujukan kepada pemula OpenCV di Linux. Tulisan ini dibuat untuksiapa saja yang ingin tahu bagaimana menggunakan IDE untuk memrogramOpenCV dengan C di Linux. Tulisan ini juga dibuat untuk pengguna MicrosoftVisual C di Windows yang ingin mencoba OpenCV di Linux. Tulisan inimencakup pengenalan singkat, instalasi di Linux, dan contoh-contoh kodeOpenCV. Tulisan ini juga berisi tip-tip memulai OpenCV semisal membacadokumentasi resmi dan mencari sumber daya. Tulisan ini tidak berisi algoritma ataubahasan-bahasan OpenCV lanjutan yang lain. Tulisan ini hanya pengantar singkat untukpemula. Tujuan dari tulisan ini adalah Anda mampu mengatur sendiri IDE di Linux untukOpenCV dan bisa menjalankan kode sumber program dengan benar. Semoga tulisan inibermanfaat.Isi Tulisan Ini1.2.3.4.5.6.7.8.9.Apa Itu OpenCV?Apa yang Bisa Dilakukan dengan OpenCV?Instalasi OpenCV di LinuxPilihan Editor/IDE untuk Memrogram OpenCV di LinuxCara Mengonfigurasi Build Options Kompiler g untuk OpenCV di GeanyContoh-Contoh Kode Sumber Program OpenCVSumber Referensi Belajar OpenCVTip-Tip Belajar OpenCVPenutup1. Apa Itu OpenCV?OpenCV (Open Computer Vision) Pustaka computer vision yang open source dan dipakaisecara luas di macam-macam sistem operasi dan arsitektur komputer untuk keperluanpengolahan citra.2. Apa yang Bisa Dilakukan dengan OpenCV?Tentu saja untuk memrogram suatu sistem yang berhubungan dengan citra. Contohnyasebagai berikut.1.2.3.4.Mengakses webcam laptop secara langsung.Melakukan object tracking via kamera.Melacak kontur suatu objek 2D.Membuat perangkat lunak pengolah gambar (semisal Photoshop atau GIMP).

5.6.7.8.9.Memberikan efek tertentu pada gambar bitmap.Pattern recognition.Face recognition.Fingerprint recognition.Optical Character Recognition.Supaya nyata, berikut ini saya bawakan skrinsot dari situs resmi OpenCV sendiri mengenaipengenalan kontur:SumberHasilKedua gambar diambil hapedescriptors/bounding rects circles/bounding rects circles.html.

3. Instalasi OpenCV di Linux3.1 UbuntuIkuti saja panduan resmi dari Ubuntu https://help.ubuntu.com/community/OpenCV danOpenCV akan diinstal secara otomatis. Lakukan apa yang tertera di situ. Saya pernahmelakukan instalasi OpenCV dari repo resmi dan hasilnya tidak memuaskan. Cara terbaik(untuk saat ini) adalah panduan resmi di atas.3.2 Archlinuxpacman -S opencv opencv-sampleshttp://morf.lv/modules.php?name tutorials&lasit 83.3 lling-opencv-on-linux/3.4 under-fedora3.5 ling-opencv-on-linux-mint-maya.html3.6 talling-opencv-with-slackware64-14-0/3.7 Linux Secara roduction/linux install/linux install.html?highlight install%20opencv

4. Pilihan Editor/IDE untuk Memrogram OpenCV di LinuxJika Anda terbiasa dengan Microsoft Visual C di Windows, mulailah mengenali IDE-IDElain yang bisa dipakai untuk memrogram dengan OpenCV. Silakan pilih sendiri dari daftaryang sudah saya tulis di ditorpemrograman-di-linux/. Untuk tulisan ini, saya memilih Geany sebagai editor. Geany sayapakai karena sangat mudah dikonfigurasi dan sangat mudah dikontrol.

5. Cara Mengonfigurasi Build Options Kompiler g untuk OpenCV diGeanyTentu saja ini dilakukan dengan mengikuti panduan g build options pada pranala resmiUbuntu di atas. Perhatikan dulu perintah berikut. Perintah ini berasal dari pranala resmi diatas.gcc -ggdb pkg-config --cflags opencv -o basename opencvtest.c .c opencvtest.c pkg-config --libs opencv Jelasnya, jika Anda menggunakan perintah di atas begitu saja dalam IDE Anda, maka Andaharus selalu mengganti nama berkas menjadi opencvtest.c. Tentu saja itu sangatmerepotkan. Tak bisakah yang diganti cukup perintah di atas sehingga Anda bisa membuatnama berkas apa pun? Tentu bisa. Perhatikan pola perintah berikut dan masukkan ke dalamGeany (atau IDE yang Anda pakai). Build Options Geany berada di menu Build Set BuildOptions.Untuk Compile (ini perintah kompilasi dengan g ):g -Wall -c "%f"Untuk Build (ini perintah linking dengan g bersama pustaka OpenCV, ini yang terpenting):g "%f" pkg-config --cflags --libs opencv -o "%e"Anda benar. Nama berkas bisa digantikan dengan variabel %f dan %e. Itulah fleksibilitasbuild options di Geany (dan semua IDE lainnya). Silakan lihat skrinsot berikut untukkejelasannya.

6. Contoh-Contoh Kode Sumber Program OpenCVBerikut ini saya bawakan kode sumber program OpenCV yang sudah saya tes sendiri dengang dan Geany di atas Ubuntu dan bekerja dengan baik. Silakan salin tempel (copy paste)kode-kode berikut ke dalam Geany Anda dan jalankan. Pastikan Anda telah mengonfigurasisemuanya dengan benar.6.1 Buka Sebuah Gambar Digital// latihan opencv 1 bukagambar.cpp// program pembaca dan penampil gambar bitmap// program ini akan membaca 1.jpg (harus ada di dalam 1 direktori yang sama denganprogram), menyimpan ke dalam memori, lalu menayangkannya dalam jendela ke layarmonitor// kunci program ini ada pada kelas Mat, fungsi imread(), dan fungsi imshow()// fungsi waitKey() harus diisi argumen 0 agar dia terus memunculkan jendela dantidak langsung mati sesaat setelah dieksekusi// program ini ditulis dengan vim pada Friday, June 27, 2014 02:01 AM// Ade Malsasa Akbar http://malsasa.wordpress.com #include opencv2/highgui/highgui.hpp #include opencv2/imgproc/imgproc.hpp #include iostream using namespace cv;using namespace std;int main(){Mat variabel gambar 1;variabel gambar 1 imread("1.jpg");imshow("TAYANGKAN GAMBAR", variabel gambar 1);waitKey(0);return(0);}

Hasil

6.2. Buka, Olah, Simpan Gambar Digital// latihan opencv 2 efek.cpp// program ini bersumber ion/load save image/load save image.html// program ini disunting dengan vim pada Sunday, June 29, 2014 11:12 AM#include opencv2/opencv.hpp #include opencv2/highgui/highgui.hpp using namespace cv;int main(){Mat image;image imread("1.jpg");Mat gray image;// fungsi cvtColor bertugas mengubah gambar asli (objek image) menjadi objek gray(objek gray image) dengan argumen CV BGR2GRAYcvtColor( image, gray image, CV BGR2GRAY );// fungsi imwrite bertugas membuat suatu berkas gambar berdasarkan objek yangsudah diberi efek// argumen pertama adalah nama berkas, argumen kedua adalah objek Mat dari sumberyang sudah diberi efekimwrite( "gambar gray.jpg", gray image );// fungsi namedWindow berguna untuk menentukan nama dan ukuran jendelanamedWindow( "Gambar Asli", CV WINDOW AUTOSIZE );namedWindow( "Gambar Gray", CV WINDOW AUTOSIZE );// fungsi imshow berguna untuk menayangkan gambar di dalam jendelaimshow( "Gambar Asli", image );imshow( "Gambar Gray", gray image );// fungsi waitkey harus ada supaya program dapat terus berjalanwaitKey(0);return 0;}

Hasil

6.3 Akses Webcam Laptop// latihan opencv 3 /doc/reading and writing images and video.html?highlight video%20capture#VideoCapture// kata kunci: opencv video capture// kata kunci: opencv camera capture// diunduh pada Friday, June 27, 2014 02:33 AM#include opencv2/opencv.hpp #include opencv2/highgui/highgui.hpp // namespace untuk cv; karena sebetulnya tidak ada VideoCapture, Mat, imshow(), danwaitKey()// yang ada adalah cv::VideoCapture, cv::Mat, cv::imshow(), dan cv::waitKey()// ditulis pada Friday, June 27, 2014 07:42 PM// untuk memahaminya, bacalah sing namespace cv;int main(int, char**){// buka kamera default yakni nomor 0// ganti nomornya dengan 1 atau 2 jika kamera berada di posisi lainVideoCapture cap(0);while(true){// deklarasi objek frame dari kelas MatMat frame;// objek video dari kamera dipasangkan ke dalam framecap frame;// fungsi imshow() menayangkan objek Mat yang sudah berisi objek video kamera// argumen pertama adalah string untuk judul jendela// argumen kedua adalah objek Matimshow("Kamera", frame);// fungsi waitKey() (didefinisikan dalam header highgui) dibutuhkan oleh imshow()(yang juga dari highgui)// tanpa waitKey(), imshow() tidak akan melakukan window event semisal redraw,resize, input event, dan sebagainya// argumen angka di dalam waitKey menentukan berapa milisekon delay untuk key eventyang dibutuhkan oleh imshow()// panggillah walau hanya untuk 1 milisekon// singkatnya, ini sepele tetapi wajib ada// sumber 1: oes-waitkey-30-meanin-opencv// sumber 2: http://docs.opencv.org/modules/highgui/doc/user interface.html#waitkeyif(waitKey(3) 0) break;}return 0;}

Hasil

6.4 Operasi Logika (AND, OR, XOR, dan NOT) Terhadap 2 Gambar// AND OR XOR NOT terhadap 2 gambar// sumber kode ada 2, yaitu -andor-xor-and-not.html// on/display image/display image.html// karena ia harus bisa menyimpan gambar dahulu baru kemudian mengoperasikannya// baru kemudian menayangkannya// kode ini diubah dengan vim pada Friday, June 27, 2014 12:45 AM#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include iostream using namespace cv;using namespace std;int main( ){// kelas Mat ini berfungsi untuk menampung gambarMat variabel gambar 1; //objek dari kelas Mat akan dipakai sebagai variabelpenyimpan gambarMat variabel gambar 2;Mat variabel gambar 3;// proses menyimpan gambar JPG ke dalam variabel Matvariabel gambar 1 imread("1.jpg");variabel gambar 2 imread("2.jpg");// deklarasi objek-objek (variabel-variabel) Mat untuk menyimpan hasil operasiMat simpan hasil and;Mat simpan hasil or;Mat simpan hasil xor;Mat simpan hasil not;// proses operasi AND, OR, XOR, dan NOT untuk dua gambar yang disimpan dalam duavariabel// hanya proses NOT yang melibatkan satu gambar, karena memang NOT operasi logikauntuk satu operand sajabitwise and(variabel gambar 1, variabel gambar 2, simpan hasil and); //dua gambardi-ANDimshow("AND",simpan hasil and); //kemudian isi variabel simpan hasil andditayangkanbitwise or(variabel gambar 1, variabel gambar 2, simpan hasil or); //dua gambar diORimshow("OR", simpan hasil or);bitwise xor(variabel gambar 1, variabel gambar 2, simpan hasil xor); //dua gambardi-XORimshow("XOR", simpan hasil xor);bitwise not(variabel gambar 1, simpan hasil not); //satu gambar di-NOT

imshow("NOT", simpan hasil not);// catatan:// bitwise and() adalah fungsi untuk melakukan AND LOGIC OPERATION terhadap duagambar// demikian pula untuk * or, * xor, dan * notwaitKey(0);return(0);}Hasil7. Sumber Referensi Belajar OpenCV1. http://docs.opencv.org/index.html (dokumentasi resmi OpenCV)2. http://opencvexamples.blogspot.com/ (kumpulan contoh kode OpenCV siap pakai)3. http://www.cs.iit.edu/ ml(panduan perkenalan OpenCV akademik)4. http://dasl.mem.drexel.edu/ noahKuntz/openCVTut1.html (tutorial OpenCVakademik)5. http://www.cs.rit.edu/ gsp8334/ (tutorial OpenCV akademik)6. http://opencv-srf.blogspot.com/ (blog khusus OpenCV yang berisi banyak contoh analisis kode program yang berguna)7. http://opencv-code.com/ (blog khusus OpenCV)8. http://www.shervinemami.info/openCV.html (blog Computer Vision yang memilikikategori OpenCV)9. tutorials/ (blog lain yang

memiliki kategori OpenCV)10. http://www.tutorialspoint.com/java dip/introduction to opencv.htm (tutorialOpenCV dengan Java)11. http://opencvpython.blogspot.com/ (tutorial OpenCV dengan Python)12. test/py tutorials/py tutorials.html (tutorial OpenCVdengan Python)13. http://docs.nvidia.com/tegra/Content/OpenCV Main.html (tutorial OpenCV dariNVIDIA untuk Tegra)14. http://opencv.wikispaces.com/ (wiki OpenCV dari komunitas)8. Tip-Tip Belajar OpenCV1. Cari contoh kode, kompilasikan, lihat hasilnya.2. Analisis baris-baris penting di dalam kode yang diperoleh dengan memberinyakomentar.3. Ubah kode sedikit demi sedikit, lihat hasilnya.4. Menulislah tentang OpenCV di blog Anda sendiri.9. PenutupTulisan ini mulai dibuat draft-nya pada 3 April 2014 dan diselesaikan pada 29 Juni 2014.Tulisan ini lebih dulu direncanakan untuk ditulis daripada tulisan mengenai OpenGL. Tulisanini tidak ditutup kemungkinannya untuk direvisi. Semoga tulisan ini bermanfaat.10. Tentang Dokumen IniDokumen ini adalah versi PDF dari posting tar-pemrograman-opencv-c-di-linux/.Dokumen ini ditulis dengan fonta Ubuntu 12pt. Dokumen ini disusun ulang denganLibreoffice Writer 3.5. Dokumen ini selesai disusun pada 7 Juli 2014. Penulis mohon maafjika terdapat kesalahan dalam dokumen ini.11. Tentang PenulisPenulis adalah warga Forum Ubuntu Indonesia. Penulis mendukung pendidikan perangkatlunak legal (terutama FOSS) untuk masyarakat. Penulis menyediakan buku-buku panduanLinux untuk pemula maupun ahli untuk diunduh secara gratis 1. Penulis bisa dihubungi viaSMS di nomor 0878 5273 8641.1http://malsasa.wordpress.com/pdf

7. Sumber Referensi Belajar OpenCV 8. Tip-Tip Belajar OpenCV 9. Penutup 1. Apa Itu OpenCV? OpenCV (Open Computer Vision) Pustaka computer vision yang open source dan dipakai secara luas di macam-macam sistem operasi dan arsitektur komputer untuk keperluan pe

Related Documents:

Outline: OPENCV 3.0 Intro –Learning OpenCV Version 2.0 coming by Aug –Announcing 50K Vision Challenge OpenCV Background OpenCV 3.0 High Level OpenCV 3.0 Modules Brand New

2.Basic Numpy Tutorials 3.Numpy Examples List 4.OpenCV Documentation 5.OpenCV Forum 1.1.2Install OpenCV-Python in Windows Goals In this tutorial We will learn to setup OpenCV-Python in your Windows system. Below steps are tested in a Windows 7-64 bit machine with Visual Studio 2010 and Visual Studio 2012. The screenshots shows VS2012.

instruksi ke mesin, khususnya komputer. Bahasa pemrograman dapat digunakan untuk membuat program untuk mengontrol perilaku mesin atau untuk mengekspresikan algoritme. " Bahasa pemrograman adalah notasi untuk menulis program, yang merupakan spesifikasi dari suatu komputasi atau algoritma. (Aaby, Anthony (2001). Pengantar Bahasa Pemrograman)?

openCV Library The open source computer vision li-brary, OpenCV, began as a research project at Intel in 1998.5 It has been available since 2000 under the BSD open source license. OpenCV is aimed at providing the tools needed to solve computer-vision problems. It contains a mix of low-level image-processing functions and high-level algorithmsFile Size: 2MB

3 opencv The main OpenCV repository, essential, stable modules opencv_contrib Experimental or obsolete OpenCV functionality cvat (Computer Vision Annotation Tool) Tool for annotation of datasets; reworked version of VATIC dldt (Deep Learning Deployment To

OpenCV OpenCV is an open source Computer Computer Vision library. It allows to develop complex Computer Vision and Machine Learning applications fast, offering a wide set of functions. Originally developed in C/C , now OpenCV has handlers also for Java and

OpenCV GPU header file Upload image from CPU to GPU memory Allocate a temp output image on the GPU Process images on the GPU Process images on the GPU Download image from GPU to CPU mem OpenCV CUDA example #include opencv2/opencv.hpp #include <

ADVANCED BOOKKEEPING KAPLAN PUBLISHING Introduction When a capital asset or non-current asset is disposed of there are a variety of accounting calculations and entries that need to be made. Firstly, the asset being disposed of must be removed from the accounting records as it is no longer controlled. In most cases the asset will be disposed of for either more or less than its carrying value .