我想从 QMediaPlayer
获取每一帧并将其转换为 QImage
(或 cv::Mat
)
所以我使用了来自 QVideoProbe
的 videoFrameProbed
信号:
connect(&video_probe_, &QVideoProbe::videoFrameProbed,
[this](const QVideoFrame& currentFrame){
//QImage img = ??
}
但是我没有找到从 QVideoFrame
获取 QImage
的方法!
如何将 QVideoFrame
转换为 QImage
?!
最佳答案
你可以使用QImage的构造函数:
QImage img( currentFrame.bits(),
currentFrame.width(),
currentFrame.height(),
currentFrame.bytesPerLine(),
imageFormat);
在哪里可以从 QVideoFrame
的 pixelFormat
获取 imageFormat
:
QImage::Format imageFormat = QVideoFrame::imageFormatFromPixelFormat(currentFrame.pixelFormat());
关于c++ - 将 QVideoFrame 转换为 QImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27829830/