C++ 无法使用C+;运行Opencv+;语法 Im在Visual studio 2010(vc10)上使用Opencv 2.3.1 我根据许多教程配置了opencv,可以编译和运行C-syntax程序,如:

C++ 无法使用C+;运行Opencv+;语法 Im在Visual studio 2010(vc10)上使用Opencv 2.3.1 我根据许多教程配置了opencv,可以编译和运行C-syntax程序,如:,c++,c,visual-studio-2010,opencv,C++,C,Visual Studio 2010,Opencv,#include "StdAfx.h" #include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main () { IplImage* img = cvLoadImage("D:\cat_helmet.jpg", CV_LOAD_IMAGE_UNCHANGED); cvNamedWindow("display", CV_

#include "StdAfx.h"
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main ()
{
    IplImage* img = cvLoadImage("D:\cat_helmet.jpg", CV_LOAD_IMAGE_UNCHANGED);
    cvNamedWindow("display", CV_WINDOW_AUTOSIZE);
    cvShowImage("display", img );
    cvWaitKey(0);        

    return 0;
}
#包括“StdAfx.h”
#包括
#包括
使用名称空间std;
使用名称空间cv;
int main()
{
IplImage*img=cvLoadImage(“D:\cat\u helmet.jpg”,CV\u LOAD\u IMAGE\u未更改);
cvNamedWindow(“显示”,CV\u窗口\u自动调整大小);
cvShowImage(“显示”,img);
cvWaitKey(0);
返回0;
}

但是,我不能运行C++语法程序

#包括“StdAfx.h”
#包括
#包括
#包括
使用名称空间cv;
使用名称空间std;
int main()
{ 
namedWindow(“显示窗口”,CV\u窗口\u自动调整大小);
Mat图像;
图像=imread(“D:\cat\u头盔”,CV\u载荷\u图像\u颜色);
如果(!image.data)
{

你能说你遵循了大量的指南和教程吗?我在这方面取得了巨大的成功

问题是,这家伙带你穿过“公园”,帮助你在设置OpenCV 2.3.1时解决两个主要问题;一个是在项目文件夹中放置.dll文件。另一个是缺少的.dll“tbb_debug.dll”(缺少这个.dll被认为是OpenCV 2.3.1中的一个bug)

他还提供了一些适合您尝试的代码段(在C++语法中)。


祝你好运。

上述答案毫无意义。我也面临着同样的问题。出现此异常的主要原因是您试图显示空图像(由imread读取)。程序中的主要问题是行

    image = imread("D:\cat_helmet", CV_LOAD_IMAGE_COLOR); 
我认为imread函数的行为与预期不符。还有一件事,在浏览参考文献时,我发现了以下链接:

imread(常量字符串和文件名,int标志)

这里,iMead是通过引用方法调用的。我不是C++专家,但我觉得可能是问题。

    int main() 
    {
      std::string imgPath("splash.bmp"); //Add your file name
      Mat img = imread(imgPath);
      namedWindow( "Example1", WINDOW_AUTOSIZE);
      imshow("Example1", img);
      waitKey(0);
      return 0;
    }

这段代码对我很有用。此外,我将文件放在可执行文件旁边以降低复杂性。

“D:\cat\u helmet”
肯定是错误的。
“D:\\cat\u helmet.jpg”
。访问冲突错误正好击中了namedWindow()命令和图像文件的两种方式都是OK。我成功编译并运行了前一段代码。是否在运行目录中放置了OpenCVIECARE121.DLL和OpenCVIHGUII2.1.DLL,或者将这些DLL放置在路径中,这样它们就可以动态链接了吗?考虑一下我们的教程如何安装/配置OpenCV。2.3在VS2010:“KalpLiPLI:我很早以前就遵循了你的教程,非常令人惊讶,谢谢:现在,我已经移动到Ubuntu 11.10,仍然使用OpenCV 2.3,并且可以正确地运行代码。OpenCV的C++接口对于Windows来说仍然不稳定。任何想在Ubuntu上使用OpenCV的人都可以在这里看到一个很棒的教程:我尝试了下面的e教程,现在一切都很好。非常感谢。@ducnm,很高兴我能帮上忙。在我的研究中,8组5人每人都尝试了OpenCV和OpenFrameworks,超过75%的人遇到了重大问题。像我发布的指南正是我们在开始学习图像处理时所需要的。
    int main() 
    {
      std::string imgPath("splash.bmp"); //Add your file name
      Mat img = imread(imgPath);
      namedWindow( "Example1", WINDOW_AUTOSIZE);
      imshow("Example1", img);
      waitKey(0);
      return 0;
    }