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

问题描述

实验环境:Mac + CLion

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

#include 
#include 
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 
#include 
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;
}

总结

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

你可能感兴趣的:(Clion无法同时打开多个图片窗口,并不显示窗口标题)