C++ OpenCV cv::imshow()GUI未显示

C++ OpenCV cv::imshow()GUI未显示,c++,opencv,ubuntu-18.04,C++,Opencv,Ubuntu 18.04,我试图显示一幅图像,在这里放大是至关重要的。 在我的Ubuntu Gnome 16.04机器上,GUI总是显示,并且图像是可缩放的 但是在我的Ubuntu18.04机器上,GUI从不显示,也不可缩放。我尝试了以下方法来创建窗口: cv::namedWindow("Name", CV_WINDOW_AUTOSIZE); cv::namedWindow("Name", CV_GUI_NORMAL); cv::namedWindow("Name", CV_GUI_EXTENDED); 使用cv::n

我试图显示一幅图像,在这里放大是至关重要的。 在我的Ubuntu Gnome 16.04机器上,GUI总是显示,并且图像是可缩放的

但是在我的Ubuntu18.04机器上,GUI从不显示,也不可缩放。我尝试了以下方法来创建窗口:

cv::namedWindow("Name", CV_WINDOW_AUTOSIZE);
cv::namedWindow("Name", CV_GUI_NORMAL);
cv::namedWindow("Name", CV_GUI_EXTENDED);
使用
cv::namedWindow()
cvNamedWindow()
命令。它们都在我的16.04机器上工作,但在我的18.04机器上没有


我的OpenCV版本是3.2,如果有什么不同,我会在ROS工作区中使用它。

我想你使用的标志可能已经过时了。与的文档中一样,可用标志如下所示:

  • WINDOW\u NORMALWINDOW\u AUTOSIZE:WINDOW\u NORMAL可用于调整窗口大小,而WINDOW\u AUTOSIZE可自动调整窗口大小以适合显示的图像(请参见imshow),并且您无法手动更改窗口大小

  • WINDOW\u FREERATIOWINDOW\u KEEPRATIO:WINDOW\u FREERATIO调整图像时不考虑其比率,而WINDOW\u KEEPRATIO保持图像比率


这些标志可能适用于您。

您是否在操作系统中安装了库?您必须调用
waitKey()
才能使用OpenCV编译的库绘制它?在CMAKE:Qt、GTK或GTK_2_x中?是的,我确实调用了
waitKey()
。如果我把这个放错了,我很抱歉:我的问题不是,图像没有显示。图像确实显示了,只是无法缩放。我正在使用CMAKE进行编译,但我不知道它是用wich库编译的。有什么建议我可以在哪里找到这些信息吗?程序是否继续运行?因为在它返回后,我认为缩放不再可能。