c++ - cv::namedWindow() 在调用时挂起

标签 c++ c opencv

我正在使用 Netbeans C++ 创建一个小项目。我有这个简单的代码:

int main(int argc, char** argv) {
    cv::namedWindow("Output");

    // Create Receiver and Decoder on another thread
    boost::thread t1 = boost::thread(startReceiver); // Details irrelevant
    boost::thread t2 = boost::thread(startDecoder);  // Details irrelevant

    std::cout << "Waiting..." << std::endl;

    t2.join();
    t1.join();

    std::cout << "Finished." << std::endl;

    return 0;
}

程序在 cv::namedWindow("Output"); 上挂起。我已经使用 GDB 暂停了程序,这是调用堆栈:

poll ()
?? ()
xcb_connect_to_fd ()
xcb_connect_to_display_with_auth_info ()
_XConnectXCB ()
XOpenDisplay ()
gdk_display_open ()
gdk_display_open_default_libgtk_only ()
gtk_init_check ()
gtk_init ()
cvInitSystem ()
cvNamedWindow ()
main (argc=1, argv=0x7fffffffe4c8)

它正在轮询某事,我不知道是什么......有什么想法吗?

最佳答案

好像是GTK相关的问题。尝试使用标准窗口:

cv::namedWindow("Output", CV_WINDOW_NORMAL|CV_GUI_NORMAL);

关于c++ - cv::namedWindow() 在调用时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15388781/

相关文章:

C++ 整数数组和 boolean 函数

c++ - 为什么 std::condition_variable 不能正常工作?总是在等待之前通知

c - PIC24H POT 输入控制 LED 闪烁延迟非线性

c++ - 如何从Opencv中的图像矩阵中提取数值梯度矩阵

opencv - OpenCV 中的非数字“NaN 与算术运算

c++ - 使用 SIFT 描述符的 OpenCV (C++) 增加了检测到的特征的数量?

c - 如何将ascii字符串转换为二进制?

Cygwin C 程序不接受命令行参数

c++ - 使用 cuda 从 RGBA 图像中分离 channel (无法显示完整图像)

c++ - OpenSSL 1.0.0d 编译然后生成 DLL