Friday, April 22, 2011

Episode_0_Prelude_Introduction_to_Image_Processing_and_OpenCV

Image processing is FUN. I remember those old days when I was being introduced to an image processing class during my final year of my bachelor degree. Even finally I was the only student in the class who passed the course with flying colours. I used to love image processing a lot. These days I have forgotten that hobby until my junior reminds me of my old love or CLBK in Indonesian language.

Surprisingly (or not), after these two years being an embedded software engineer in Netherlands, everything seems simpler than it was used to be. Thanks for Maulana, my junior who is now struggling with opencv for his thesis. You have made me interested in doing some hobby coding in image processing. In the end, this blog is our collaboration in making use of our knowledge to let you feel the fun of image processing.


Btw, image processing is cool and fun. Moreover, it looks high-tech. It is always cool to see people smiling at the webcamera where their pictures are being taken and getting processed, especially during face detection algorithm. That is hilarious!


picture 0_web_camera
About opencv? what is that? opencv is an abbreviation for Open Computer Vision. It is a software library aimed at computer vision. It was developed by Intel. It is open source. The library itself is cross platform. You can use it on several computers regardless of the operating system. Computer vision? Yes. Your computer has a vision which is from a low cost web camera nowadays. And it is intelligent enough to process data captured from the web camera into something meaningful.


By opening this blog, it is either you like image processing, you like image, or you are a senior user of opencv (or you just came by and say hi).


picture 1_windows_7
Anyway, let's get started. First of all, let's make your computer equipped with image processing capabilities. Btw this blog has windows operating system as its constraint. Me myself, have Windows 7 0x64 pre-installed in my laptop. So if you run linux or others, then might be you need to set it up yourself. There should be a lot of information in the internet about that.


-IDE Integrated Development Environtment
First of all, you will need an IDE. There are several IDE you can choose. The basic of opencv is C++. DevCpp, CodeBlocks, and Visual Studio are the best IDE for C and C++. Personally for me, I love Visual Studio. Its beautiful look added by easiness to use gives good impression at the first time you use it. Also the excellent debugging capability and intelligent intellisense make me judge that it is the best out of everything. So get your FREE visual studio express at:

http://www.microsoft.com/express/Downloads/

picture 2_visual_studio_2010
Download the visual c++ 2010 since that is what we are going to use mainly. But I would like to recommend you to download also visual c# 2010. Why? You will one day use it (if you are lucky).
picture 3_visual_studio_2010
Install visual studio. It will take a while; you can make a cup of coffee or make some noodles in the meantime.


-OpenCV Library
picture 4_open_cv_image_processing_library
Next is the main ingredient of our project. OpenCV is now maintained in willowgarage. I recommend you to install OpenCV2.1. Why? OpenCV2.2 has some bugs with windows 64 bit and some bugs in using the webcam. I found some people was having the same problem while running OpenCV2.2. So for this moment, download the OpenCV2.1. Use the zip instead of the precompiled library.

It is always a best practice to use the uncompiled libraries and compile them yourselves. Then you can always compile the library at your computer for maximum compatibility. Download the opencv2.1 here:


http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/

picture 5_open_cv_2.1


remember, download the library .zip not the .exe


Then, put it under a named directory in your computer. In mine, I use D:\021_OpenCV_2.1


--Install CMake (Cross Platform Make)
The opencv directory is not yet compiled, CMake is a GUI version of make that will allow you to compile the opencv libraries into something useful. Download CMake here:

http://www.cmake.org/cmake/help/install.html
picture 6_cmake
Install it under program files. If there is a question whether to add to path or not, Select add to path for all usersMake sure you have downloaded everything and then you can continue to the next post. It is quite a pain in the *ss to install opencv and start. Nevertheless, this is normal and not so difficult if you are used to software developing. 

The first post here makes sure you have correct environtment for making opencv library. The next post will show you how to use opencv with your visual studio.





Enjoy Image Processing,
Erya Fathurrahman, ST, B.Eng

1 comments:

Unknown said...

is it okay , if i use visual studio 2010 ?not express version

Post a Comment