Qt:显示实时视频,一次一帧
Qt: Display Live Video, One Frame At A Time
我有一个通过分布式总线解码的视频帧。目前,我使用的是QLabel,它通过Qt Signal/Slot
接收帧缓冲区并设置其像素图。
void VideoViewer::slot_update_view( unsigned char* frame, QSize size )
{
QImage img( frame, size.width(), size.height(), QImage::Format_RGB888 );
_label->setPixmap( QPixmap::fromImage( img ).scaledToWidth( width(), Qt::SmoothTransformation ) );
}
这是有效的,但使用QLabel感觉很麻烦。有更好的解决方案吗?最后我想在视频的上面画画。
我想说,让它不那么"黑客",更健壮的最好方法是使用一些低级的图像类,而不是指向缓冲区的原始指针。例如,您可以使用类似OpenCV中的表示法。
使用普通缓冲区可能非常危险,而且很难跟踪错误。
相关文章:
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 在C++中一次将矢量值写入多个文件
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 为什么 zlib 放气初始化调用一次不起作用?
- 在一次迭代中从 txt 文件中读取多行
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 高级选择排序 - 在一次迭代中搜索两个元素
- 具有相同特征的两个对象是否只在内存中存储一次?无论定义它们的函数是什么,都是不同的
- 如何仅使用一次固定<<设置精度(2)?或者至少恢复到默认行为?
- 每 200 帧替换一次对象
- 如何一次创建帧的一个实例
- 如何使用信号帧Changed(int)在QT中播放QMovie一次
- ffmpeg H264一次对帧进行编码,用于网络流传输
- 偶尔捕获一次相机帧
- Qt:显示实时视频,一次一帧
- 每帧需要一次时make_heap与priority_queue效率
- 如何只执行一次方法代码,尽管每帧调用一次