OpenCV与不同GUI工具包结合实现视频播放及图像处理
1. 引言
OpenCV为计算机视觉程序提供了多种展示方式。原生的HighGUI工具使用方便,但在功能和最终完善度方面表现欠佳。为了获得更多功能,基于Qt的HighGUI工具增加了按钮和一些用于在屏幕上操作图像的实用小工具,这对调试、参数调整和研究程序变化的细微效果非常有帮助。不过,这些方法缺乏扩展性,不太适合专业应用程序的开发。因此,我们将探讨如何将OpenCV与现有的功能齐全的GUI工具包结合使用。
2. OpenCV与Qt结合示例
在Qt示例中,我们有一个 QMoviePlayer 类,它处理视频帧的读取和显示。以下是相关代码:
void QMoviePlayer::nextFrame() {
// 如果捕获对象未打开,则不执行任何操作
if( !m_cap.isOpened() ) return;
m_cap.read( m_cv_img );
_copyImage();
this->update();
}
void QMoviePlayer::paintEvent( QPaintEvent* e ) {
QPainter painter( this );
painter.drawImage( QPoint( ui.frame->x(), ui.frame->y()), m_qt_img );
}
-
QMoviePlayer::nextFrame()函数负责读取后续帧。当QT
超级会员免费看
订阅专栏 解锁全文
27万+

被折叠的 条评论
为什么被折叠?



