您的位置:首页 > 大数据 > 人工智能

OpenCV问题集锦,图片显示不出来,WaitKey(0),imread()不能读图片,未经处理的异常,等问题集合

2016-09-19 18:14 501 查看
昨天根据uc伯克利的人工图像分割文件.seg,显示图像的时候调用了OpenCV的库函数,图片都能用imwrite写好,但是imshow死活显示不出来。

今天早上发现原来是imshow()后面应该加上:cvWaitKey(0); 感觉这个真是莫名其妙的问题,需要特别的注意。





下面两个帖子也是同样的问题:

http://www.cnblogs.com/krisdy/archive/2009/05/26/1429448.html

http://blog.163.com/yuyang_tech/blog/static/2160500832013917111920645/

 

 

 

今天又碰见一个更诡异的问题,cvloadimage()函数能读取图片,但是imread()就不行

[cpp] view
plain copy

 print?





IplImage *src;  

    src = cvLoadImage("beach.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下  

    //cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);  

    //cvShowImage("lena",src);  

    Mat mat(src);  

    imshow("who",mat);//这块还是出错  

 

 

最后找到了这个帖子:

 

http://bbs.csdn.net/topics/350004415

 

果然是lib库的版本加载错误了,我去,调试了一下午。。。

 

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/imgproc/imgproc.hpp>

#include <opencv2/imgproc/imgproc_c.h>

#include <opencv2/calib3d/calib3d.hpp>

#include <opencv2/features2d/features2d.hpp>

#include <opencv2/legacy/legacy.hpp>

using namespace cv;

#pragma comment(lib,"opencv_core2410.lib")

#pragma comment(lib,"opencv_highgui2410.lib")

#pragma comment(lib,"opencv_imgproc2410.lib")

#pragma comment(lib,"opencv_features2d2410.lib")

#pragma comment(lib,"opencv_calib3d2410.lib")

#pragma comment(lib,"opencv_legacy2410.lib")

特别注意上述版本到底是debug还是release版本的

 

debug版本的:后缀都加个d

 

#pragma comment(lib,"opencv_core2410d.lib")

#pragma comment(lib,"opencv_highgui2410d.lib")

#pragma comment(lib,"opencv_imgproc2410d.lib")

#pragma comment(lib,"opencv_features2d2410d.lib")

#pragma comment(lib,"opencv_calib3d2410d.lib")

#pragma comment(lib,"opencv_legacy2410d.lib")


 

 

同样是lib库的版本不对问题,可能造成:

 

1.未经处理的异常

2.ntdll.dll未能加载符号

 

 



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐