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

昨天根据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()就不行

IplImage *src;
	src = cvLoadImage("beach.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下
	//cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);
	//cvShowImage("lena",src);
	Mat mat(src);
	imshow("who",mat);//这块还是出错
 
 
最后找到了这个帖子:
 
 
果然是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未能加载符号
 

 

原文地址:https://www.cnblogs.com/wuyida/p/6301437.html