Clion无法同时打开多个图片窗口,并不显示窗口标题

2 篇文章 0 订阅
1 篇文章 0 订阅

问题描述

实验环境:Mac + CLion

我是在Clion中调用OpenCV库函数imshow()时发现不能显示窗口标题,接着我又发现不能同时显示图片窗口,例如程序如下:

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {

    Mat image = imread("/xxx/xx/1.jpg");
    Mat image1 = imread("/xxx/xx/2.jpg");

    imshow("图片1",image);
    imshow("图片2",image1);

    waitKey(0);

    return 0;
}

发现只能显示图片2的窗口,而且窗口没有“图片2”的标题,我就很困惑,因为有时需要同时显示多张图片,进行比较。如果不能同时显示多张图片窗口,那么就很不方便,而且如果窗口没有标题名,也分不清图片到底是哪张。

注:即便用了namedWindow()函数也是不管用。

解决方法

经过我的多次实验,发现问题在于函数imshow(),我们在VS编译器中,可以在这个函数中将窗口标题名写成中文,例如我上面的代码。但是在Clion中将窗口标题名写为中文就行不通了,如果写成中文,就会出现上述问题:1、无法同时显示多个图片窗口;2、无法显示窗口标题名。

所以将上述代码中的imshow()函数的窗口标题名换成英文即可,如下:

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {

    Mat image = imread("/xxx/xx/1.jpg");
    Mat image1 = imread("/xxx/xx/2.jpg");

    // ** 注意此处变化 **
    imshow("ImageOne",image);
    imshow("ImageTwo",image1);

    waitKey(0);

    return 0;
}

总结

如有表达不当或错误之处,请留言指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值