我正在尝试显示使用 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 编写了一个可以通过终端运行的脚本,它调用了 high gui 模块。我想用 C++ 编写这个,但我似乎无法加载基本图像!
编辑:
路径实际上是无效的。但是,即使路径正确,我也无法使用 HighGui 看到图像。
最佳答案
该错误表示图片加载不正确。 您可以使用以下方法检查:
if(image.empty()) {
// not loaded correctly
}
您需要确定:
- 路径有效
- 图像没有损坏
- 您有权访问该文件夹
要真正显示图像,您需要在 imshow
之后使用 cv::waitKey()
。
关于c++ - 如何在 QtCreator 上使用带有 highGUI 的 OpenCV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40653885/