C++ cv::namedWindow()在调用时挂起
我使用NETBeaS C++创建一个小项目。我有一个简单的代码:C++ cv::namedWindow()在调用时挂起,c++,c,opencv,C++,C,Opencv,我使用NETBeaS C++创建一个小项目。我有一个简单的代码: int main(int argc,char**argv){ cv::namedWindow(“输出”); //在另一个线程上创建接收器和解码器 boost::thread t1=boost::thread(startReceiver);//细节无关 boost::thread t2=boost::thread(startDecoder);//细节无关 std::cout这似乎是与GTK相关的问题。请尝试使用标准窗口: cv::n
int main(int argc,char**argv){
cv::namedWindow(“输出”);
//在另一个线程上创建接收器和解码器
boost::thread t1=boost::thread(startReceiver);//细节无关
boost::thread t2=boost::thread(startDecoder);//细节无关
std::cout这似乎是与GTK相关的问题。请尝试使用标准窗口:
cv::namedWindow("Output", CV_WINDOW_NORMAL|CV_GUI_NORMAL);
这似乎是与GTK相关的问题。请尝试使用标准窗口:
cv::namedWindow("Output", CV_WINDOW_NORMAL|CV_GUI_NORMAL);
这解决了该调用的挂起问题,但现在当我调用cv::imshow(“Output”,img)时
在它挂起的一个boost线程中…通常不允许尝试在屏幕上以与主线程不同的线程显示内容。我不知道imshow
的实现,但这可能是这里的问题。尝试从主线程调用imshow
。好的,谢谢。将您标记为正确的sinc如果你确实解决了这个问题,我将不得不为线程问题发布另一个问题…这解决了该调用的挂起问题,但是现在当我调用cv::imshow(“Output”,img)时
在它挂起的一个boost线程中…通常不允许尝试在屏幕上以与主线程不同的线程显示内容。我不知道imshow
的实现,但这可能是这里的问题。尝试从主线程调用imshow
。好的,谢谢。将您标记为正确的sinc如果你解决了这个问题,我将不得不发布另一个关于线程的问题。。。