레이블이 OpenCV인 게시물을 표시합니다. 모든 게시물 표시
레이블이 OpenCV인 게시물을 표시합니다. 모든 게시물 표시

2012년 8월 10일 금요일

Easy way to set OpenCV configuration

Every time when you start VC2008 for using OpenCV library, you might feel tired due to routine pre-configuration. some tips are here.

You don't need to set include folder and library folder in 'debug' mode and 'release' mode sperately.





















Like above picture, select "All configuration"  and set each folder.
Furthermore, For dll files that should be input in 'Additional dependencies',  only three dll file is enough, if you are beginner of OpenCV.
Needed dll file for beginner is: 

opencv_core230.lib  opencv_highgui230.lib  opencv_imgproc230.lib


All set up would be done in 'All configuration', you don't need  repeated work.

Opening a image and .avi file and Webcam Video on VC2008 console window using OpenCV2.3


If you don't know how to set OpenCV configuration on Visual Studio 2008, please read previous post. This post continue to follow Open CV study.
I try to open jpg image and avi videoclip in VC2008 console window, and I try also to connect webcam with console window.

At first, type like below. and build and run!

#include <cv.h>
#include <highgui.h>

int main()
{
        IplImage* img = cvLoadImage( "test.jpg" ); 
//"test.jpg" should be in where you are coding; open a image file
        cvNamedWindow( "window1", CV_WINDOW_AUTOSIZE ); //to create window
        cvShowImage( "window1", img ); //poject image file in window made before
        cvWaitKey(0);//wait until next keyboard input

        cvReleaseImage( &img ); //memory release
        cvDestroyWindow( "window1" ); //close window

        return 0;
}



Result

you did one of the three missions!


Second, type this below, and build and run!

#include <cv.h>
#include <highgui.h>

int main()
{
        cvNamedWindow( "yadong", 0 ); //open a new window, size is not determined
        cvResizeWindow( "yadong", 200,200); //determine window size
        cvMoveWindow( "yadong", 100,100); //place window,
        CvCapture* capture = cvCreateFileCapture( "test.avi" ); //open avi file and ready to capture.
        IplImage* frame; //this variable is for captured image.
        char key;

        while(1)
        {
               frame = cvQueryFrame( capture );//captured image from video is saved in this pointer for instance.
               if( !frame ) break;
               cvShowImage( "yadong", frame ); //project image into window

               key = cvWaitKey(20); //wait 20ms for check keyboard input
               if( key == 27 ) break; //27 means 'ESC'
        }

        cvReleaseCapture( &capture );
        cvDestroyWindow( "yadong" );
       
        return 0;
}


Result

Second mission completed!


Finally, Let's connect and project webcam video on the console window.


#include <cv.h>
#include <highgui.h>

int main()
{
        IplImage *frame;
        CvCapture *pCamera;
        int key;

        pCamera = cvCaptureFromCAM(0);
       
        cvNamedWindow( "molka", CV_WINDOW_AUTOSIZE);

        while(1)
        {
               frame = cvQueryFrame( pCamera );
               cvShowImage( "molka", frame);
              
               key = cvWaitKey(30);
               if( (char)key==27 ) break;
        }
        cvReleaseCapture(&pCamera);
        cvDestroyWindow("molka");

        return 0;

}


Result




2012년 8월 6일 월요일

Installing OpenCV 2.3 for Visual Studio 2008(win7)

At first, go to below web site and download OpenCV-2.3.0-win-superpack.exe

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





Double click on the downloaded file to unzip OpenCV libraries.
Move the unzipped folder "OpenCV2.3" to "C:\".
In my case, I located "OpenCV2.3" folder on "C:\OpenCV2.3".
(Actually, folder location is not important, but you must remember path of folder.)

And then, Open the Visual Studio 2008 and make new empty project like below.
Choose Win32 Console Application as type. Enter its name and select the path where to create it. Then in the upcoming dialog make sure you create an empty project.






Add New Item in Source files directory. Select C++ file(.cpp) as template.


 Now, let's configure project's properties, go to Projects -> Properties...
There are two configuration mode, a 'Debug' and a 'Release', to configure for OpenCV2.3.
Firstly, select 'Debug' on configuration tab.


1. Configuration Properties->C/C++ ->General directory ->Additional Include Directories

Add additional include directories as follows:

C:\OpenCV2.3\build\include
C:\OpenCV2.3\build\include\opencv
C:\OpenCV2.3\build\include\opencv2





2. Configuration Properties -> Linker -> General -> Additional Library Directories

Add additional library directories as follows:

C:\OpenCV2.3\build\x86\vc9\lib


3. Configuration Properties -> Linker -> Input -> Additional Dependencies edit

Add libraries as follows:

opencv_calib3d230d.lib
opencv_contrib230d.lib
opencv_core230d.lib
opencv_features2d230d.lib
opencv_flann230d.lib
opencv_gpu230d.lib
opencv_haartraining_engined.lib
opencv_highgui230d.lib
opencv_imgproc230d.lib
opencv_legacy230d.lib
opencv_ml230d.lib
opencv_objdetect230d.lib
opencv_video230d.lib

4. For 'Release' mode

Do like 'Debug' mode, but when you edit Additional  Dependencies, make sure you type libraries' names except 'd'( ex) xxxx_xxx230.lib)


opencv_calib3d230.lib
opencv_contrib230.lib
opencv_core230.lib
opencv_features2d230.lib
opencv_flann230.lib
opencv_gpu230.lib
opencv_haartraining_engine.lib
opencv_highgui230.lib
opencv_imgproc230.lib
opencv_legacy230.lib
opencv_ml230.lib
opencv_objdetect230.lib
opencv_video230.lib




5. Copy dll files onto System32 directory.
Go and copy files in 'C:\OpenCV2.3\build\x86\vc9\bin' and paste into 'C:\Windows\System32'



you did it!

Let's check it works well or not.



#include <cv.h>
#include <highgui.h>

using namespace cv;

int main(void)
{
Mat img;
img = imread("test.jpg");
imshow("test",img);
waitKey(0);
}