1. 程式人生 > >Opencv 2.4.10 中imread讀取圖片為空的原因分析

Opencv 2.4.10 中imread讀取圖片為空的原因分析

#include <opencv2\opencv.hpp>
#include <highgui.h>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
    Mat img = imread("D:\\VSproject\\opencv\\opencv\\noise.jpg",1);
    if(img.empty())
    {
        cout<<"error";
        return -1;
    }
    imshow("noise",img);
    waitKey();
    return 0;

}

以上這段程式碼,發現,總是讀不到圖片,仔細分析原因,終於找到原因

這個跟庫的依賴有關

release 版本的依賴庫

opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_nonfree2410.lib
opencv_objdetect2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_videostab2410.lib
 

debug版本的依賴庫


opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib

debug版本後面有個 d

同時寫到 連結器->輸入->依賴庫選項就可以了