qq_33052567
qq_33052567
采纳率33.3%
2017-02-01 08:32 阅读 2.1k
已采纳

Mac OSX 用Clion执行opencv的程序,不能同时打开多个图片窗口

代码如下,运行后只能显示最后打开的图片


#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中的设置问题吗?因为运行结果窗口名并不是程序中设置的名字,而且只能显示最后被打开的图片。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    fight_in_dl 战在春秋 2017-02-01 08:59

    有很大可能是显示了,但位置重叠,所以只看到最后一个。试试下面二个函数调整窗口的大小和位置:
    void cv::resizeWindow(const string& winname, int width, int height)
    void cv::moveWindow(const string& winname, int x, int y)

    点赞 1 评论 复制链接分享
  • cs9426478 sea_baby 2018-03-04 03:55

    我最近也遇到了这个问题,我发现问题可能在于你窗口的标题名,你在imshow中写的标题名为中文,你换成英文试试。我的窗口标题名换成了英文后,同时打开的多个图片窗口都可以显示了

    点赞 评论 复制链接分享
  • weixin_42655396 ye~ 2021-01-31 10:39

    问题在于函数imshow(),代码中的imshow()函数的窗口标题名换成英文即可

     
    点赞 评论 复制链接分享

相关推荐