OpenCV初体验的路径问题

来源:互联网 发布:纸张好的本子推荐 知乎 编辑:程序博客网 时间:2024/05/18 14:25

1.测试程序如下:

#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
using namespace cv;
int main()
{
// 读入一张图片(游戏原画)  
//Mat img = imread("E://ceshi//11.jpg");
//Mat img = imread("E:\\ceshi\\11.jpg");
Mat img = imread("11.jpg");
// 创建一个名为 "游戏原画"窗口  
namedWindow("游戏原画");
// 在窗口中显示游戏原画  
imshow("游戏原画", img);
// 等待50000 ms后窗口自动关闭  
waitKey(50000);
}

2.第一次尝试运行的时候出现出现过如下问题:

old DIB in res XXX.ico; pass it through SDKPAINT

这是因为以前下载过VC6++,VC6无法识别3字节真彩图,只支持256色。所以把VC6卸载后问题就不见了。

如果还有人用VC6.0出现这个问题,可以升级软件,用VC7以上就好了,也可以用软件如IconWorkshop把256色以上的图删掉,或者换成256色的图试试

3.后来出现丢失word.dll问题,就把BIN中的3个dll放到C:\\WINDOW\\SYSTEM32或者C\\WINDOW\\SYSWOW64中即可

4.之后遇到了有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0014f4f8 处的 cv::Exception这样的类似问题

后来发现是图片的地址不对。因为程序中要是用相对路径,要把图片和.cpp文件放一起,即放到工程目录下。

绝对路径的话,imread无法识别 \ ,要换成  \\  ,  //  ,  / 都可以。

具体文章可参见:

本文由@星沉阁冰不语出品,转载请注明作者和出处。

文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51375078

微博:http://weibo.com/xingchenbing 

5.题4中的问题也不一定是路径问题,也有可能是别的问题,比如指针不对,内存溢出等等
还可以这样做:

崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止

或者:1.看看你的配置设置对了没有,比如链接器里面的d的问题;

      2.更改一下调试方式,比如debug换成release模式

      3.图片格式对了嘛?拓展名有没有,写对没有。

      4.图片是不是太大了,所以显示不出来。



原创粉丝点击