Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
173 views
in Technique[技术] by (71.8m points)

c++ - Installation of OpenCV 2.4.5 on Visual Studio 2008

I'm having some difficulties trying to use OpenCV with visual studio 2008 (Professional Edition). I believe I've done everything necessary to run a OpenCV sample, but it crashes due to a run-time error. This is driving me insane, I hope someone can help.

But first things first.

My Installation Procedure

  1. Downloaded OpenCV 2.4.5 from sourcefourge.net.

  2. When prompted, I chose "Z:Games instaladosOpenCV" as my "Extract to" option in the .exe downloaded from the above link.

  3. Went to "Control Panel" -> "System" -> "Advanced System Settings", then clicked on the "Environment Variables" in the "Advanced" tab. In the "System Variables" box I highlighted "Path" and clicked on "Edit...". In the new window I added to the end of the text in "Variable Value" my installation directory with a ";" before it, namely ";Z:Games instaladosOpenCVopencvuildx86vc11in" (without the double quotes). Here's a screenshot: screenshot.

  4. Created a new project in Visual Studio 2008: File -> New -> Project..., chose "Other Languages" -> "Visual C++ -> "Win32" as the project type; "Win32 Console Application" as the template. new project Clicked "next" in the new window, then chose "Console Application", "Empty Project" and then "Finish". new window
  5. In the "Solution Explorer", right-clicked my program and chose "Properties". Then "Configuration Properties" -> "C/C++" -> "General", and on Additional Include Directories I've added:
    • Z:Games instaladosOpenCVopencvuildinclude
    • Z:Games instaladosOpenCVopencvuildincludeopencv
    • Z:Games instaladosOpenCVopencvuildincludeopencv2 "Additional Include
  6. Now in "Configuration Properties" -> "C/C++" -> "Linker" -> "General", in the "Additional Library Directories" I've added "Z:Games instaladosOpenCVopencvuildx86vc11lib". Additional Library
  7. Now in "Configuration Properties" -> "C/C++" -> "Linker" -> "Input", in the "Additional Dependencies" I've added:
    • opencv_calib3d245.lib
    • opencv_contrib245.lib
    • opencv_core245.lib
    • opencv_features2d245.lib
    • opencv_flann245.lib
    • opencv_gpu245.lib
    • opencv_highgui245.lib
    • opencv_imgproc245.lib
    • opencv_legacy245.lib
    • opencv_ml245.lib
    • opencv_nonfree245.lib
    • opencv_objdetect245.lib
    • opencv_photo245.lib
    • opencv_stitching245.lib
    • opencv_superres245.lib
    • opencv_ts245.lib
    • opencv_video245.lib
    • opencv_videostab245.lib
    • opencv_calib3d245d.lib
    • opencv_contrib245d.lib
    • opencv_core245d.lib
    • opencv_features2d245d.lib
    • opencv_flann245d.lib
    • opencv_gpu245d.lib
    • opencv_highgui245d.lib
    • opencv_imgproc245d.lib
    • opencv_legacy245d.lib
    • opencv_ml245d.lib
    • opencv_nonfree245d.lib
    • opencv_objdetect245d.lib
    • opencv_photo245d.lib
    • opencv_stitching245d.lib
    • opencv_superres245d.lib
    • opencv_ts245d.lib
    • opencv_video245d.lib
    • opencv_videostab245d.lib (Please note that I didn't added "opencv_ffmpeg245.lib", despite what the screenshot shows). Additional Dependencies
  8. Right-clicked "Source Files" -> "Add" -> "Existing Item" and added the "Z:Games instaladosOpenCVopencvsamplescppcout_mat.cpp" file. Added cout_mat

The Problem

  1. Built the project, no problems here, "Build succeeded".
  2. "Debug" -> "Start Debugging". The following appears: The error http://s8.postimg.org/wdkubk5o3/the_error.jpg Full size image for the error: http://s8.postimg.org/wdkubk5o3/the_error.jpg

I've also tried with the hough lines sample, but it didn't worked as well (even with the image in the same folder as the .exe imread() wouldn't find the image).

Any help would be greatly appreciated.

If I've not made some of the installation steps clear enough, please post a comment.

Reason this question is suited for stackoverflow.com

I've detailed a full installation procedure (from scratch) for the latest release of OpenCV to be used with Visual Studio 2008. If anyone solves this question we will have a complete, working tutorial for anyone having the same necessity (use latest OpenCV with visual studio 2008), and possibly (because of the depth in the installation procedure) a general guide for installing the latest OpenCV with most Visual Studio versions (not just the 2008, since the tutorial wouldn't change much, and the reader could easily adapt it).

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I would suggest if you want to test proper installation of opencv. Just load a simple.jpg image in opencv and display it. If this works then you can start debugging the program which is crashing. You can debug it by successively enabling the cout. May be first just enable the default cout in example cout_mat.cpp and comment rest of it.
Here is the simple load program you can try to test your installation.

int main(int argc, char*argv[])
{

    cvNamedWindow("My_Win", CV_WINDOW_AUTOSIZE);
    IplImage *img = cvLoadImage("C:\vid_an2\Desert.jpg", CV_LOAD_IMAGE_UNCHANGED );

    std::cout<<"Info About Image"<<std::endl;

    std::cout<<"Size of Image "<<img->nSize<<std::endl;
    std::cout<<"Image channels "<<img->nChannels<<std::endl;
    std::cout<<"Image Width "<<img->width<<std::endl;
    std::cout<<"Image Height "<<img->height<<std::endl;
    std::cout<<"Image Depth "<<img->depth<<std::endl;
    std::cout<<"Image WidhtStep "<<img->widthStep<<std::endl;
    std::cout<<"Image Size "<<img->imageSize<<std::endl;

    cvShowImage("My_Win", img);

    cvWaitKey(0);

    // Free the resources.
    cvDestroyAllWindows();
    cvReleaseImage(&img);
return 0;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...