我一直致力于检测离线手写签名的项目。我遇到了一个基本问题。我的程序无法使用imread()
函数。它没有显示任何错误,但也没有加载图像。如果我检查图像,它会显示我指定的错误消息。我正在使用OpenCV 2.4.10与Microsoft Visual C ++ 2010,我正在使用Windows 8.
这是我配置OpenCV的方式有问题还是版本有问题?
我如何克服这个问题?
如果您有任何使用Microsoft Visual C ++配置OpenCV的完美教程,请与我分享。这是我正在运行的代码。而且,在运行时,输出对话框显示, Native'已退出,代码为-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;
}
答案 0 :(得分:0)
我最近一直在使用opencv,这是迄今为止我发现的最好的Visual Studio opencv教程:
http://opencv-srf.blogspot.com.es/2013/05/installing-configuring-opencv-with-vs.html
主要是,您需要做的正确配置如下:
在我的电脑中设置环境变量 - &gt; Propierties-&gt;高级系统设置 - &gt;环境变量 - &gt; 使用以下参数创建一个新变量:变量名称:OPENCV_DIR,变量值:C:\ opencv \ build \
编辑变量“Path”,为此,在“变量名称”行的末尾添加以下内容:;%OPENCV_DIR%\ x86 \ vc11 \ bin
然后您应该配置Visual Studio:
右键单击项目名称,然后单击“Propierties” 在C / C ++中 - &gt; General-&gt;其他包含目录,复制并粘贴“$(OPENCV_DIR)\ include”
在Linker-&gt; General-&gt;其他库目录中复制并粘贴$(OPENCV_DIR)\ x86 \ vc11 \ lib
在链接器 - >输入 - >其他依赖项中,单击编辑并添加在“'C:\ opencv \ build \ x86 \ vc11 \ lib”中找到的库
注意:如果您的系统是64位而不是32位,请将“x86”替换为“x64”
您可以发布代码来分析问题吗?
答案 1 :(得分:0)
OpenCV documentation提供了使用Visual Studio设置OpenCV的教程,还有一些示例代码使用cv :: imread加载底部包含的图像。