你好,我是看到了您提问的“Opencv,C++读取图片失败,指针为空,返回值为-1,求解”,请问您如何解决的?
我的问题跟您一样,也是出现了一堆CannotfindoropenthePDBfile,最终返回值为-1,不知道毛病在哪里呢?谢谢。...
我的问题跟您一样,也是出现了一堆Cannot find or open the PDB file,最终返回值为-1,不知道毛病在哪里呢?谢谢。
展开
2个回答
展开全部
Vsual Studio 2010 +Opencv2.3.1下的配置关键步骤
学习网站: http://www.opencv.org.cn/forum/
以下内容都是build文件夹里的内容,注意路径
一、设置环境变量:
我的电脑--->右键--->属性--->高级--->环境变量--->在用户变量里,新建path和OPENCV两个项
步骤1:在path中添加H:\Program Files\OpenCV2.3.1\build\x86\vc10\bin,就是添加dll文件
步骤2:添加OPENCV的环境变量H:\Program Files\OpenCV2.3.1\build
二、打开一个Opencv的工程,点菜单目录的“视图”--->属性管理器--->双击项目名称
步骤3:在配置属性--->VC++目录--->包含目录文件中添加
H:\Program Files\OpenCV2.3.1\build\include
H:\Program Files\OpenCV2.3.1\build\include\opencv
H:\Program Files\OpenCV2.3.1\build\include\opencv2
步骤4::在配置属性--->VC++目录--->库目录中添加
H:\Program Files\OpenCV2.3.1\build\x86\vc10\lib
步骤5 添加lib库文件, 在配置debug里--->项目属性--->链接器--->输入--->附加依赖库 里加上
opencv_core231d.lib
opencv_highgui231d.lib
opencv_video231d.lib
opencv_ml231d.lib
opencv_legacy231d.lib
opencv_imgproc231d.lib
opencv_flann231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
opencv_objdetect231d.lib
opencv_contrib231d.lib
步骤6:在配置release里--->项目属性--->链接器--->输入--->附加依赖库 里加上
opencv_core231.lib
opencv_highgui231.lib
opencv_video231.lib
opencv_ml231.lib
opencv_legacy231.lib
opencv_imgproc231.lib
opencv_flann231.lib
opencv_features2d231.lib
opencv_calib3d231.lib
opencv_objdetect231.lib
opencv_contrib231.lib
开始简单的实例:
#include <core/core.hpp> //注意路径
#include <highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
Mat image;
image = imread("H:\\Image\\lena.jpg"); // Read the file,argv[1];单双斜杠都可以!
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1; //返回-1表示没有读取到图像
}
namedWindow( "Display window", CV_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;
}
补充:
return -1; //返回-1表示没有读取到图像
注意指导手册还有这样一段内容:
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
把这段内容删掉应该就好了的,上面的读取显示程序里就没有这一段
学习网站: http://www.opencv.org.cn/forum/
以下内容都是build文件夹里的内容,注意路径
一、设置环境变量:
我的电脑--->右键--->属性--->高级--->环境变量--->在用户变量里,新建path和OPENCV两个项
步骤1:在path中添加H:\Program Files\OpenCV2.3.1\build\x86\vc10\bin,就是添加dll文件
步骤2:添加OPENCV的环境变量H:\Program Files\OpenCV2.3.1\build
二、打开一个Opencv的工程,点菜单目录的“视图”--->属性管理器--->双击项目名称
步骤3:在配置属性--->VC++目录--->包含目录文件中添加
H:\Program Files\OpenCV2.3.1\build\include
H:\Program Files\OpenCV2.3.1\build\include\opencv
H:\Program Files\OpenCV2.3.1\build\include\opencv2
步骤4::在配置属性--->VC++目录--->库目录中添加
H:\Program Files\OpenCV2.3.1\build\x86\vc10\lib
步骤5 添加lib库文件, 在配置debug里--->项目属性--->链接器--->输入--->附加依赖库 里加上
opencv_core231d.lib
opencv_highgui231d.lib
opencv_video231d.lib
opencv_ml231d.lib
opencv_legacy231d.lib
opencv_imgproc231d.lib
opencv_flann231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
opencv_objdetect231d.lib
opencv_contrib231d.lib
步骤6:在配置release里--->项目属性--->链接器--->输入--->附加依赖库 里加上
opencv_core231.lib
opencv_highgui231.lib
opencv_video231.lib
opencv_ml231.lib
opencv_legacy231.lib
opencv_imgproc231.lib
opencv_flann231.lib
opencv_features2d231.lib
opencv_calib3d231.lib
opencv_objdetect231.lib
opencv_contrib231.lib
开始简单的实例:
#include <core/core.hpp> //注意路径
#include <highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
Mat image;
image = imread("H:\\Image\\lena.jpg"); // Read the file,argv[1];单双斜杠都可以!
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1; //返回-1表示没有读取到图像
}
namedWindow( "Display window", CV_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;
}
补充:
return -1; //返回-1表示没有读取到图像
注意指导手册还有这样一段内容:
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
把这段内容删掉应该就好了的,上面的读取显示程序里就没有这一段
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询