用QtCreator在windows中编写的dlib代码不退出,而qt mainwindow已退出
问题描述:
以及我正在开发图像处理应用程序在qt和dlib和opencv ,但是当我运行代码后,我编码的qtwidget应用程序,罚款代码完成时,我点击qt mainwindow的关闭按钮mainwidow关闭,但应用程序不需要手动停止代码 它发生在dlib相关的代码已经运行在应用程序 关于代码我只需打开摄像头并做脸部检测用QtCreator在windows中编写的dlib代码不退出,而qt mainwindow已退出
while(frame_counter<100)
{
cv::Mat temp;
cap >> temp;
cv_image<bgr_pixel> cimg(temp);
full_object_detection shape;
std::vector<dlib::rectangle> faces = detector(cimg);
std::vector<full_object_detection> shapes;
for (unsigned long i = 0; i < faces.size(); ++i)
{
shape = pose_model(cimg, faces[i]);
}
win.clear_overlay();
win.set_image(cimg);
win.add_overlay(render_face_detections(shape));
}
我不知道为什么会发生任何想法?
答
如果您有这行代码:
while()
{
}
那么它永远不会破环了,你需要某种事件驱动的代码。您需要OT沟的单回路,而使用计时器滴答或事件来驱动你的相机捕捉代码,然后一个事件的QApplication ::退出()
void frmMain::closeEvent(QCloseEvent *) {
QApplication::quit();
}
我有事出后居然走出while循环100帧,它会离开while循环,如果我添加quit(),主窗口关闭,但进程仍在运行 – arash