當前位置:編程學習大全網 - 編程語言 - 妳好,我是看到了您提問的“Opencv,C++讀取圖片失敗,指針為空,返回值為-1,求解”,請問您如何解決的?

妳好,我是看到了您提問的“Opencv,C++讀取圖片失敗,指針為空,返回值為-1,求解”,請問您如何解決的?

Vsual Studio 2010 +Opencv2.3.1下的配置關鍵步驟

學習網站: /forum/

以下內容都是build文件夾裏的內容,註意路徑

壹、設置環境變量:

我的電腦--->右鍵--->屬性--->高級--->環境變量--->在用戶變量裏,新建path和OPENCV兩個項

步驟1:在path中添加H:\Program Files\OpenCV2.3.1\build\x86\vc10\bin,就是添加dll文件

步驟2:添加OPENCV的環境變量H:\Program Files\OpenCV2.3.1\build

二、打開壹個Opencv的工程,點菜單目錄的“視圖”--->屬性管理器--->雙擊項目名稱

步驟3:在配置屬性--->VC++目錄--->包含目錄文件中添加

H:\Program Files\OpenCV2.3.1\build\include

H:\Program Files\OpenCV2.3.1\build\include\opencv

H:\Program Files\OpenCV2.3.1\build\include\opencv2

步驟4::在配置屬性--->VC++目錄--->庫目錄中添加

H:\Program Files\OpenCV2.3.1\build\x86\vc10\lib

步驟5 添加lib庫文件, 在配置debug裏--->項目屬性--->鏈接器--->輸入--->附加依賴庫 裏加上

opencv_core231d.lib

opencv_highgui231d.lib

opencv_video231d.lib

opencv_ml231d.lib

opencv_legacy231d.lib

opencv_imgproc231d.lib

opencv_flann231d.lib

opencv_features2d231d.lib

opencv_calib3d231d.lib

opencv_objdetect231d.lib

opencv_contrib231d.lib

步驟6:在配置release裏--->項目屬性--->鏈接器--->輸入--->附加依賴庫 裏加上

opencv_core231.lib

opencv_highgui231.lib

opencv_video231.lib

opencv_ml231.lib

opencv_legacy231.lib

opencv_imgproc231.lib

opencv_flann231.lib

opencv_features2d231.lib

opencv_calib3d231.lib

opencv_objdetect231.lib

opencv_contrib231.lib

開始簡單的實例:

#include <core/core.hpp> //註意路徑

#include <highgui/highgui.hpp>

#include <iostream>

using namespace cv;

using namespace std;

int main( int argc, char** argv )

{

Mat image;

image = imread("H:\\Image\\lena.jpg"); // Read the file,argv[1];單雙斜杠都可以!

if(! image.data ) // Check for invalid input

{

cout << "Could not open or find the image" << std::endl ;

return -1; //返回-1表示沒有讀取到圖像

}

namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.

imshow( "Display window", image ); // Show our image inside it.

waitKey(0); // Wait for a keystroke in the window

return 0;

}

補充:

return -1; //返回-1表示沒有讀取到圖像

註意指導手冊還有這樣壹段內容:

if( argc != 2)

{

cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;

return -1;

}

把這段內容刪掉應該就好了的,上面的讀取顯示程序裏就沒有這壹段

  • 上一篇:網站幹貨編程
  • 下一篇:加工中心的工藝特點和對刀方法有哪些?
  • copyright 2024編程學習大全網