我正在做一个关于人脸识别的项目.Qt用于创建前端.
当我点击按钮(标签'从网络摄像头选择视频')时,它将从网络摄像头捕获视频,但它不可见.在该意义上不可见,父窗口覆盖当前正在播放的视频,或者当前正在播放的视频在父窗口后面.我应该怎么做才能在所有父窗口前面,直到视频结束.
void admin_db_creation::on_pushButton_3_clicked() { capture = cvCaptureFromCAM(0); if(!capture) { cout<<"Could not initialize capturing..."<这是按钮点击代码,它包含播放视频的代码..
1> Marek R..:问题是你正在混合事件循环.
Qt提供自己的事件循环来处理所有系统事件,包括鼠标和键盘.当您使用时
char key = cvWaitKey(10);
,创建另一个由OpenCV提供的事件循环仅用于测试目的.这是Qt代码,所以使用这个不定式循环(对于Qt它是不定式),创建一个插槽,它将获取单帧并处理它(显示它)并使用
QTimer
(timout
信号)重复调用它.忘掉OpenCv的UI功能.从OpenCv只使用图像处理功能,没有别的.这是类似的问题.而且这里的东西,可能也非常有用了这个话题.