如何在QtCreator上使用带有highGUI的OpenCV?

时间:2016-11-17 11:36:35

标签: c++ qt opencv raspberry-pi3

我正在尝试使用cv2库中的 highgui 模块显示从磁盘加载的基本映像。 我可以在制作Qt Widgets应用程序时执行此操作,但Qt窗口变得多余;但是当使用控制台应用程序时,我得到了这个错误:

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看到图像。

1 个答案:

答案 0 :(得分:1)

错误表示图像未正确加载。 您可以使用以下方式检查:

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

您需要确保:

  1. 路径有效
  2. 图片未损坏
  3. 您有权访问该文件夹
  4. 要实际显示图片,您需要在cv::waitKey()之后使用imshow