1. 程式人生 > >OpenCV問題集錦,圖片顯示不出來,WaitKey(0),imread()不能讀圖片,未經處理的異常,等問題集合

OpenCV問題集錦,圖片顯示不出來,WaitKey(0),imread()不能讀圖片,未經處理的異常,等問題集合

昨天根據uc伯克利的人工影象分割檔案.seg,顯示影象的時候呼叫了OpenCV的庫函式,圖片都能用imwrite寫好,但是imshow死活顯示不出來。

今天早上發現原來是imshow()後面應該加上:cvWaitKey(0);



下面兩個帖子也是同樣的問題:

今天又碰見一個更詭異的問題,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未能載入符號