代码如下,运行后只能显示最后打开的图片
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
int main( )
{
//载入图片
Mat image= imread("/Users/qixuansun/Downloads/OpenCVdemo1/dota.jpg",-199);
Mat logo= imread("/Users/qixuansun/Downloads/OpenCVdemo1/dota_logo.jpg");
//载入后先显示
namedWindow("【2】原画图");
imshow("【2】原画图",image);
namedWindow("【3】logo图");
imshow("【3】logo图",logo);
waitKey();
return 0;
}
运行结果:
Clion版本:2016.2
Opencv版本:opencv-3.2.0(前两天刚从官网下的)
想问下是Clion中的设置问题吗?因为运行结果窗口名并不是程序中设置的名字,而且只能显示最后被打开的图片。
有很大可能是显示了,但位置重叠,所以只看到最后一个。试试下面二个函数调整窗口的大小和位置:
void cv::resizeWindow(const string& winname, int width, int height)
void cv::moveWindow(const string& winname, int x, int y)
我最近也遇到了这个问题,我发现问题可能在于你窗口的标题名,你在imshow中写的标题名为中文,你换成英文试试。我的窗口标题名换成了英文后,同时打开的多个图片窗口都可以显示了
问题在于函数imshow()
,代码中的imshow()函数的窗口标题名换成英文即可