1

我一直在从事一个检测离线手写签名的项目。我遇到了一个基本问题。我的程序无法使用imread()功能。它没有显示任何错误,但也没有加载图像。如果我检查图像,它会显示我指定的错误消息。我将 OpenCV 2.4.10 与 Microsoft Visual C++ 2010 一起使用,并且我使用的是 Windows 8。

这是我配置 OpenCV 方式的问题还是版本有问题?

我该如何克服这个问题?

如果您有任何完美的使用 Microsoft Visual C++ 配置 OpenCV 的教程,请与我分享。这是我正在运行的代码。而且,在运行时,输出对话框显示Native' has exited with code -1。现在我看不到消息“错误:无法加载图像..!! ”。但问题仍然没有解决。

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

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
    Mat image;
    image = imread("C:\Users\sony\Downloads\Shareit\Photo\New Doc 7_1.jpg",CV_LOAD_IMAGE_UNCHANGED);

    if (image.empty()) //check whether the image is loaded or not
    {
      cout << "Error : Image cannot be loaded..!!" << endl;
      //system("pause"); //wait for a key press
      return -1;
 }

      namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow"
      imshow("MyWindow", image); //display the image which is stored in the 'img' in the "MyWindow" window

      waitKey(0); //wait infinite time for a keypress

      destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow"

      return 0;
}
4

2 回答 2

0

我最近一直在使用 opencv,这是迄今为止我发现的 Visual Studio 最好的 opencv 教程:

http://opencv-srf.blogspot.com.es/2013/05/installing-configuring-opencv-with-vs.html

主要是,您需要做的正确配置如下:

设置环境变量在:我的电脑->属性->高级系统设置->环境变量->用这些参数新建一个:变量名:OPENCV_DIR,变量值:C:\opencv\build\

编辑变量“路径”,为此,在“变量名称”行的末尾添加以下内容:;%OPENCV_DIR%\x86\vc11\bin

然后你应该配置 Visual Studio:

右键单击项目名称,然后在 C/C++->General-> Additional Include Directories 中单击“Propierties”,复制并粘贴“$(OPENCV_DIR)\include”

在 Linker->General->Additional Library Directories 复制并粘贴 $(OPENCV_DIR)\x86\vc11\lib

在链接器->输入->附加依赖项中,单击编辑并添加您在“'C:\opencv\build\x86\vc11\lib”中找到的库

注意:如果您的系统是 64 位而不是 32 位,请将“x86”替换为“x64”

你能发布你的代码来分析问题吗?

于 2015-03-26T17:03:31.567 回答
0

OpenCV 文档提供了使用 Visual Studio 设置 OpenCV的教程,还有一些示例代码使用 cv::imread 加载底部包含的图像。

于 2015-03-26T17:03:52.640 回答