首页 > 解决方案 > 为什么我不能在另一个线程中使用 nameWindow 在一个线程中显示图像?

问题描述

我在父线程(主程序)中做了nameWindow,然后我开始在子线程中用imshow显示我的图像,但是,我不能继续,它被锁定了!!!为什么 ???

void task()
{
    cv::VideoCapture cap("video.mp4");
    cv::Mat src;
    while (true)
    {
        cap.read(src);
        cv::imshow("src", src);
        cv::waitKey(1);
    }
}

int main()
{       
    cv::namedWindow("src", WINDOW_NORMAL);
    boost::threadpool::pool pl(2);
    pl.schedule(&task);

    return 0;
}

标签: c++opencv

解决方案


推荐阅读