OpenCV不适用于Visual Studio

Mik*_*kin 5 c++ opencv visual-studio-2013

我刚刚安装了openCV ver.在我的计算机上测试3.00 beta,我正试图用VS2013测试它.我按照快速入门指南:

1)使用预构建库安装Windows.

2)Microsoft VS内部的OpenCV,使用本地方法和x64/vc12目录库.

因此,他们的示例(在链接#2中列出)产生了一个错误:

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    if (argc != 2)
    {
        cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
        return -1;
    }

    Mat image;
    image = imread(argv[1], IMREAD_COLOR); // Read the file

    if (image.empty()) // Check for invalid input
    {
        cout << "Could not open or find the image" << std::endl;
        return -1;
    }

    namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
    imshow("Display window", image); // Show our image inside it.

    waitKey(0); // Wait for a keystroke in the window
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

1>------ Build started: Project: test_openCV, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d300d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

据我了解,我的程序可以看到openCV库,但由于某种原因无法打开它们.请帮忙.

谢谢

更新:尝试执行前四条评论中建议的内容,但仍然没有结果.所以我会在这里发布完整的信息:

项目:CUDA 6.5(我需要与CUDA合作).

源文件: Source.cpp

模式:调试,x64.

环境变量:

OPENCV_DIR: C:\programs\misha\opencv\build\x64\vc12

Path (the last string): %OPENCV_DIR%\bin
Run Code Online (Sandbox Code Playgroud)

页面属性:

C\C++ -> General -> Additional Include Directories(last string):
    $(OPENCV_DIR)\..\..\include
Linker -> General -> Additional Library Directories(last string):
    $(OPENCV_DIR)\lib
Linker -> Input -> Additional Dependencies:
    opencv_calib3d300d.lib
    opencv_core300d.lib
    opencv_features2d300d.lib
    opencv_flann300d.lib
    opencv_highgui300d.lib
    opencv_imgcodecs300d.lib
    opencv_imgproc300d.lib
    opencv_ml300d.lib
    opencv_objdetect300d.lib
    opencv_photo300d.lib
    opencv_shape300d.lib
    opencv_stitching300d.lib
    opencv_superres300d.lib
    opencv_ts300d.lib
    opencv_video300d.lib
    opencv_videoio300d.lib
    opencv_videostab300d.lib
Run Code Online (Sandbox Code Playgroud)

输出:

1>------ Build started: Project: test_openCV, Configuration: Debug x64 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d300d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

所以,我出于某种原因无法构建x64项目.错误是一样的.

更新2:如果您可以构建此示例(或任何OpenCV示例),请将它发送到genkin@physics.msu.ru?我会自己弄清楚的

Mik*_*kin 4

经过很长时间的不同尝试,我在这里找到了答案。对于x64项目,除了我上面所做的之外,您还必须:

1) 设置环境变量后重新启动电脑。如果不重新启动,我的计算机上的变量路径不会更新。

2)除了上面添加的库之外,您还必须添加(尽管在本示例中可能不会使用其中一些库):

ippicvmt.lib
IlmImfd.lib
libtiffd.lib 
libpngd.lib
libjasperd.lib
libjpegd.lib
libwebpd.lib
zlibd.lib
comctl32.lib
Run Code Online (Sandbox Code Playgroud)

编辑:我最近不得不在新电脑上再次安装它。正如 user1060873 所指出的,您必须仅添加位于 $OPENCV$/lib 文件夹中的库。例如,在我的电脑上是C:\opencv\build\x64\vc12\lib. 请注意,对于调试模式,您应该添加opencv_world310d.lib, 对于发布模式opencv_world310.lib