Skip to main content

Opencv 2.3.1 Installation

alright it took me a while before posting this. for OPENCV 2.3.1 and Visual studio 2010 Professional on a windows 7 64 bit environment

Download The "super pack" and unzip to "C:\OPENCV"
it seems you can only get the source of opencv and need to compile it with CMAKE.
very straight forward.
download CMAKE and use the command prompt to enter CMAKE CMAKELIST.txt at the opencv directory

Open  "ALL_BUILD" by double clicking - opens up visual studio
Compile it and wait. (took a minute)
go to properties and select the release version and compile again (took another minute)

your all set with the opencv installation "c:\opencv\build"

create an empty visual studio "win32 console application"

Click on Configuration Properties->VC++ Directories, and edit the Include Directories. Add:

C:\opencv\build\common\tbb30_20110427oss\include (UPDATE)
C:\opencv\build\include

Click on Configuration Properties->VC++ Directories, and edit the Library Directories. Add:
C:\opencv\build\common\tbb30_20110427oss\lib\ia32\vc10 (UPDATE)
C:\opencv\build\x86\vc10\lib

Click on Configuration Properties->Linker->Input, and edit the Additional Dependencies. Add:
opencv_core231d.lib
opencv_imgproc231d.lib
opencv_highgui231d.lib
opencv_ml231d.lib
opencv_video231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
opencv_objdetect231d.lib
opencv_contrib231d.lib
opencv_legacy231d.lib
opencv_flann231d.lib

Click on Configuration Properties->Debugging, and edit the Environment.
 PATH=C:\opencv\build\x86\vc10\bin;C:\opencv\build\common\tbb30_20110427oss\bin\ia32\vc10



Your all set.


(UPDATE)
i realized when trying to compile lkdemo.cpp an error:



even though opencv has a tbb folder in the build/common it does not include the complete library so we need to download the whole version from http://threadingbuildingblocks.org/ver.php?fid=171
and unzip it to "c:\opencv\build\common". there is no need to compile it as its already ready for use.

just make the additional changes to the library and include and bin files for this to work.

Comments

  1. I followed your instructions to the letter, and truth to be told they were really helpful.
    Recently I faced a linking problem which I couldn't fix. The error message is as follows,
    "The program can't start because opencv_core231d.dll is missing from your computer. Try re-installing the program to fix this problem"

    Do you've any idea?

    ReplyDelete
  2. Well.. I solved this problem by coping all the .dlls to the folder where the .exe exists.
    Now, I've another problem regarding tbb_debu! I get the error message,
    "The program can't start because tbb_debug.dll is missing from your computer. Try re-installing the program to fix this problem"

    ReplyDelete
  3. Sorry, but I solved it with the same method.
    But is there anyway to avoid the stated solution.
    I was almost going to install all my OS just to solve it. It was driving me crazy!

    Thanks anyway.

    ReplyDelete

Post a Comment

Popular posts from this blog

Computing Entropy of an image (CORRECTED)

entropy is a measure of the uncertainty associated with a random variable. basically i want to get a single value representing the entropy of an image. 1. Assign 255 bins for the range of values between 0-255 2. separate the image into its 3 channels 3. compute histogram for each channel 4. normalize all 3 channels unifirmely 5. for each channel get the bin value (Hc) and use its absolute value (negative log is infinity) 6. compute Hc*log10(Hc) 7. add to entropy and continue with 5 until a single value converges 5. get the frequency of each channel - add all the values of the bin 6. for each bin get a probability - if bin 1 = 20 bin 2 = 30 then frequency is 50 and probability is 20/50 and 30/50 then compute using shannon formula  REFERENCE: http://people.revoledu.com/kardi/tutorial/DecisionTree/how-to-measure-impurity.htm class atsHistogram { public:     cv::Mat DrawHistogram(Mat src)     {         /// Separate the image in 3 places ( R, G and B )    

Blob Detection, Connected Component (Pure Opencv)

Connected-component labeling (alternatively connected-component analysis, blob extraction, region labeling, blob discovery, or region extraction) is an algorithmic application of graph theory, where subsets of connected components are uniquely labeled based on a given heuristic. Connected-component labeling is not to be confused with segmentation. i got the initial code from this URL: http://nghiaho.com/?p=1102 However the code did not compile with my setup of OpenCV 2.2, im guessing it was an older version. so a refactored and corrected the errors to come up with this Class class atsBlobFinder     {     public:         atsBlobFinder()         {         }         ///Original Code by http://nghiaho.com/?p=1102         ///Changed and added commments. Removed Errors         ///works with VS2010 and OpenCV 2.2+         void FindBlobs(const cv::Mat &binary, vector < vector<cv::Point>  > &blobs)         {             blobs.clear();             // Fill the la

Region of interest selection ROI

#include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h> #include<opencv2\opencv.hpp> #include <opencv2\highgui\highgui.hpp> int main(int argc, char *argv[]) { CvCapture *capture = 0; IplImage *frame = 0; int key = 0; /* initialize camera */ capture = cvCaptureFromCAM( 0 ); /* always check */ if ( !capture ) { printf("Cannot open initialize webcam!\n" ); exit(0); } /* create a window for the video */ cvNamedWindow( "result", CV_WINDOW_AUTOSIZE ); while( key != 'q' ) { /* get a frame */ frame = cvQueryFrame( capture ); /* always check */ if( !frame ) break; /* sets the Region of Interest*/ cvSetImageROI(frame, cvRect(150, 50, 150, 250)); /* create destination image */ IplImage *img2 = cvCreateImage(cvGetSize(frame), frame->depth, frame->nChannels); /* * do the main processing with subimage here. * in this example, we simply invert the subimage