2016-11-17 24 views
1

我試圖顯示一個基本圖像,使用cv2庫中的highgui模塊從磁盤加載。 我可以在製作Qt Widgets應用程序時做到這一點,但Qt窗口變得多餘;然而,使用一個控制檯應用程序,當我得到這個錯誤:如何在QtCreator上通過highGUI使用OpenCV?

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/highgui/src/window.cpp, line 269 
terminate called after throwing an instance of 'cv::Exception' 
    what(): /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/highgui/src/window.cpp:269: error: (-215) size.width>0 && size.height>0 in function imshow 

這裏是我的代碼:

int main() 
{ 
    cv::Mat inputImg = cv::imread("/home/pi/scrot1.png"); 
    cv::imshow("Display Image", inputImg); 
} 

我已經用Python寫一個腳本,可以通過終端上運行並調用高GUI模塊。我想用C++編寫,但我似乎無法加載基本圖像!

編輯:

的路徑實際上是無效的。但是,即使使用正確的路徑,我也無法使用HighGui查看圖像。

+0

那麼,你的問題不是Python相關的? –

+1

圖像路徑無效,因此您無法讀取圖像,也無法顯示圖像。你會看到'inputImg.empty()'。 – Miki

+1

我已經編寫了一個跟蹤基於hsv掩碼的對象的腳本,並希望軟件工程師能夠突出python中的快速原型設計的過渡過程的關鍵特性,以提升C++的性能,您會發現我試圖最大化幀速率,並且我希望切換到C++將有助於 –

回答

1

該錯誤表示圖像未正確加載。 您可以檢查此使用:

if(image.empty()) { 
    // not loaded correctly 
} 

你需要確保:

  1. 路徑有效
  2. 圖像不損壞
  3. 你要訪問該文件夾的權限

要實際顯示圖像,您需要在imshow之後使用cv::waitKey()

相關問題