我正在尝试使用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看到图像。
答案 0 :(得分:1)
错误表示图像未正确加载。 您可以使用以下方式检查:
if(image.empty()) {
// not loaded correctly
}
您需要确保:
要实际显示图片,您需要在cv::waitKey()
之后使用imshow
。