昨天根据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);//这块还是出错
#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")
#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")

本文解决了使用OpenCV库在C++中显示图像时遇到的问题,包括imshow()无法显示图像和imread()读取图片失败的情况,并给出了正确的库版本加载方式。
9万+





