CImg Image Processing on C++

November 22nd, 2008 § 0

Website : http://cimg.sourceforge.net/index.shtml

The CImg Library is an open source C++ toolkit for image processing designed with these properties in mind :

Usefulness
CImg defines simple classes and methods aimed at manipulating generic images in your own C++ code : Load/save various file formats, access pixel values, display, resize/rotate/mirror/filter, draw primitives (text, faces, curves, 3D objects, …), compute statistics, manage user interactions, and so on…
Genericity
Provided image classes can represent datasets up to 4-dimension wide (from 1D scalar signals to 3D hyperspectral volumes), with template pixel types. Image collections and sequences are also supported.
Portability
CImg is self-contained and thus highly portable. It fully works on different operating systems (Unix, Windows, MacOS X, *BSD) with various C++ compilers (Visual C++, GNU g++, Intel icc, Borland bcc, …).
Simplicity
CImg is lightweight. It is made of a single header file CImg.h that must be included in your C++ source. It defines only four different classes. It can be compiled using a minimal set of standard C++ and system libraries. No need for exotic or complex dependencies.
Extensibility
Although not required, CImg can use functionalities of external tools/libraries such as ImageMagick, GraphicsMagick, XMedCon, FFMPEG, libpng, libjpeg, libtiff, Magick++, Lapack, Board or FFTW3. Moreover, a simple plug-in mechanism allows any user to directly enhance the library capabilities according to his needs.
Freedom
CImg is a free, open-source library distributed under the CeCILL-C (close to the GNU LGPL) or CeCILL (compatible with the GNU GPL) licenses. It can be used in commercial applications.

CImg stands for “Cool Image” : It is easy to use and efficient. It’s a very pleasant toolbox to code image processing stuffs in C++, and potentially covers a wide range of image processing applications. In the distributed package, a lot of examples are provided to help the developper in its first steps.

Authors :

David Tschumperl

Learning OpenCV

October 19th, 2008 § 0

Learning OpenCV puts you right in the middle of the rapidly expanding field of computer vision. Written by the creators of OpenCV, the widely used free open-source library, this book introduces you to computer vision and demonstrates how you can quickly build applications that enable computers to “see” and make decisions based on the data.

Computer vision is everywhere — in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. It helps robot cars drive by themselves, stitches Google maps and Google Earth together, checks the pixels on your laptop’s LCD screen, and makes sure the stitches in your shirt are OK. OpenCV provides an easy-to-use computer vision infrastructure along with a comprehensive library containing more than 500 functions that can run vision code in real time. With Learning OpenCV, any developer or hobbyist can get up and running with the framework quickly, whether it’s to build simple or sophisticated vision applications.

Start Reading The Book Online (Safari Book Online) or Buy Hardprinting

Download Source Code Example from O’Reilly Site

ImageJ : Tool DIP Serbaguna

September 4th, 2008 § 3

ImageJ adalah sebuah tool ringkas untuk melakukan image processing secara cepat. Tool ini sangat berguna untuk membandingkan hasil yang didapatkan apabila kita melakukan pemrosesan citra menggunakan aplikasi engineering (MATLAB / C) dan ingin mengetahui hasil yang didapatkan untuk mengecek proses yang pemrosesan citra yang kita lakukan. Tool ini dibuat dengan menggunakan bahasa pemrograman Java, namun available untuk cross platform (Windows, Mac OS X, dan Linux). Untuk lebih lengkapnya, silahkan download dan kunjungi situs resminya di sini :

ImageJ Image Processing Tool

Referensi Source Code OpenCV

August 8th, 2008 § 0

Untuk Anda yang belajar OpenCV Library, selain situs resmi OpenCV di sourceforge, ada beberapa situs lain yang patut Anda ketahui pula. Situs-situs di bawah ini menyediakan referensi sourcecode yang cukup lengkap, bahkan beberapa di antaranya menyertakan pembahasan, berikut video / gambar hasil source code tersebut :

1. OpenCV Japan : berbahasa jepang, namun Anda bisa mendapatkan contoh-contoh penggunaan script dasar dari OpenCV. Sangat bagus dan bermanfaat untuk pemula (*seperti saya). Untuk memudahkan Anda, Anda bisa menggunakan fasilitas translator dari Google.

2. HCI Class of Iowa State University : situs yang cukup komprehensif, karena menyediakan sourcecode dari contoh-contoh aplikasi OpenCV tingkat lanjut. Anda bisa menemukan berbagai macam project / aplikasi OpenCV di sini.

3. Situs Dr. Alex Stoytchev : adalah sebuah situs pribadi seorang dosen computer science. Di situs ini (bagian lecture codes) Anda bisa menemukan contoh source code dari Pak Alex ini.

4. OpenCV Wordpress : berisi tutorial OpenCV berikut sourcecode-nya. Oleh karena halaman ini adalah halaman pribadi, agak kurang terstruktur isinya. Namun masih bermanfaat kok. Silahkan dibuka.

5. YahooGroups OpenCV : inilah mailing list resmi OpenCV dimana banyak ahli OpenCV berdiskusi dan saling bertukar pengalaman di milis ini. Pastikan Anda bergabung dalam milis ini dan sekaligus sebagai sebuah media untuk mencoba beberapa contoh sourcecode yang sudah diupload oleh anggota milis.

Object Tracking (1)

July 30th, 2008 § 3

Setelah sekian lama berkutat dengan source code OpenCV, akhirnya saya diminta oleh advisor saya untuk mempraktekkan konsep template matching pada gambar yang bergerak. Sebelumnya, saya sudah mempelajari template matching sederhana pada gambar tak bergerak. » Read the rest of this entry «

OpenCV Beta 5

July 23rd, 2008 § 2

Beberapa hari ini saya dibuat bingung dengan beberapa error yang muncul saat saya meng-compile sebuah program yang melibatkan OpenCV dan Borland C++ builder v 6.0. Entah kenapa, compiler Borland saya mengeluarkan pesan “undefined function” untuk fungsi cvCreateCameraCapture( ), sebuah fungsi yang digunakan untuk mendapatkan capture file dari webcam. Padahal OpenCV yang saya gunakan adalah versi terbaru, yakni OpenCV 1.0. Anehnya lagi, di manual OpenCV tersebut juga dituliskan dokumentasi API-nya, termasuk fungsi cvCreateCameraCapture tersebut. Mengapa compiler tidak mendeteksinya ?

Saya curiga dengan karakteristik project OpenCV ini. Saya pun pernah mengalami hal serupa, saat saya mencoba menggeluti framework CakePHP. Masalah kompatibilitas fungsi yang ada di versi lama belum tentu ada di versi terbaru. Ya, saat itu saya kehilangan beberapa class PHP yang saya gunakan di framework lama karena saya mengupdate pustaka dengan framework yang baru. Masalah ini kemudian saya analogikan ke OpenCV ini. Saya menduga, ada beberapa library yang hilang dari OpenCV versi lama alias versi beta terakhir. Untuk memastikannya, satu-satunya cara adalah melakukan instalasi OpenCV versi beta dan menjalankannya.

Saya kemudian mencoba OpenCV versi beta 5. Setelah instalasi, saya mencoba mengganti fungsi cvCreateCaptureCamera dengan fungsi cvCaptureFromCAM(’-1′). Parameter -1 digunakan untuk menginisiasi webcam yang terhubung di komputer. Setelah beberapa kali menyesuaikan dan memasukkan kembali path-path integrasi OpenCV dan Borland C++ Builder, akhirnya program bisa berjalan dengan lancar

Where Am I?

You are currently browsing the ALL IN ONE category at DIP.WARRIOR.