Setup OpenCV-2.3 for Visual Studio 2010

后端 未结 3 2119
迷失自我
迷失自我 2020-11-22 06:02

I\'m trying to use opencv 2.3 with Visual Studio 2010 Express. My code is from example:

#include \"stdafx.h\"
#include 

int _tmain(int arg         


        
相关标签:
3条回答
  • 2020-11-22 06:45

    If you are struggling with editing the PATH environment variables, you can also copy the required .dll files to your project folder: The dll files are located in this folder ../OpenCV2.3/build.x86/vc9/bin

    Then copy them to the folder where .exe file is created: c:\Users\PIMMES\Documents\Visual Studio 2010\Projects\eigenfaces\Debug (Ofcourse you have to change the path to your Debug folder)

    You only have to copy the .dll files which you are using in your project (#include for example) For example if you get an error message saying opencv_core231d.dll is not found then get this .dll file from the above location (bin folder) and copy to your project Debug folder.

    Hope this helps..

    0 讨论(0)
  • 2020-11-22 06:48

    Well, the official guide is for installing OpenCV 2.1 on VS2010, so I wrote some instructions below that shows how to properly install and configure the x86 version of OpenCV 2.3 on Visual Studio 2010 (Express), since a lot of folks seem to have problems setting it up correctly.

    Download OpenCV-2.3.0-win-superpack.exe and execute it to extract all files to a folder named OpenCV2.3. Inside this folder there are 2 directories: build and opencv. All the setup on VS2010 will refer to the build directory. For practical purposes I moved the folder OpenCV2.3 to my C:\ drive, so pay attention to the paths I suggest on this guide as yours might be different.

    On Visual Studio, create a new Win32 Console Application project and name it whatever you like. After that, a new window will show up. Click on the tab Application Settings and make sure the option Empty Project gets selected:

    enter image description here

    Add a new file main.cpp to the folder Source Files, then add this code to main.cpp:

    #include <stdio.h>
    #include <cv.h>
    #include <highgui.h>
    
    int main(int argc, char* argv[])
    {
    if (argc < 2)
    {
        printf("Usage: ./opencv_hello <file.png>\n");
        return -1;
    }
    
        IplImage* img = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED);
    if (!img)
    {
        return -1;
    }
    
    cvNamedWindow("display", CV_WINDOW_AUTOSIZE);
        cvShowImage("display", img );
    
        cvWaitKey(0);        
    
        return 0;
    }
    

    At this point, we need to configure the project so it can locate OpenCV headers and libraries. Go to the Project Properties (ALT+F7), and once the new window shows up do the following:

    • On the Configuration box, select All Configurations

    • Open Configuration Properties > C/C++ > General, and edit the field Additional Include Directories to add these 3 paths (for the headers):

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

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

      C:\OpenCV2.3\build\include

    enter image description here

    Note that include\opencv is for the C interface of OpenCV and include\opencv2 if for the C++ interface. We are also adding the folder include to prevent our build from being broken by some headers of the C interface that refer to C++ headers as opencv2\core.

    • Then, add the path of the libraries on Configuration Properties > Linker > General, and on the Additional Library Directories field, add this: C:\OpenCV2.3\build\x86\vc9\lib:

    enter image description here

    • Finally, for this simple test we are going to add the libraries opencv_core230.lib and opencv_highgui230.lib. So go to Configuration Properties > Linker > Input and add them:

    enter image description here

    When writing more complex applications you'll probably need to add other OpenCV libs that I did not mentioned on this little project of ours.

    Press F7 to Build Solution and you should see:

    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    

    To be able to execute the application you'll need to modify the PATH environment variable of your system to add the location of OpenCV's DLLs. Add this to end of PATH:

    ; C:\OpenCV2.3\build\x86\vc9\bin
    
    0 讨论(0)
  • 2020-11-22 07:01

    Whenever I make a program that uses opencv 2.2 or greater I include everything, and then comment out the libraries I don't need. Try this, I'm sure you need more than highgui.h

    #include "opencv2\opencv.hpp"
    
    using namespace cv;
    
    //#pragma comment(lib, "opencv/opencv_calib3d231.lib")
    //#pragma comment(lib, "opencv/opencv_contrib231.lib")
    #pragma comment(lib, "opencv/opencv_core231.lib")
    //#pragma comment(lib, "opencv/opencv_features2d231.lib")
    //#pragma comment(lib, "opencv/opencv_flann231.lib")
    //#pragma comment(lib, "opencv/opencv_gpu231.lib")
    //#pragma comment(lib, "opencv/opencv_haartraining_engine.lib")
    #pragma comment(lib, "opencv/opencv_highgui231.lib")
    //#pragma comment(lib, "opencv/opencv_imgproc231.lib")
    //#pragma comment(lib, "opencv/opencv_legacy231.lib")
    //#pragma comment(lib, "opencv/opencv_ml231.lib")
    #pragma comment(lib, "opencv/opencv_objdetect231.lib")
    //#pragma comment(lib, "opencv/opencv_ts231.lib")
    //#pragma comment(lib, "opencv/opencv_video231.lib")
    
    0 讨论(0)
提交回复
热议问题