0
아래 코드로 비디오 프레임을 QLabel에 표시하려하지만 불행히도 비디오는 QLabel에 표시되지 않습니다. CameraFrameGrabber에 QAbstractVideoSurface를 상속했습니다.QLabel에서 QPixmap을 표시하지 않습니다.
bool CameraFrameGrabber::present(const QVideoFrame &frame)
{
qDebug() << __FUNCTION__;
if (frame.isValid()) {
QVideoFrame cloneFrame(frame);
cloneFrame.map(QAbstractVideoBuffer::ReadOnly);
const QImage image(cloneFrame.bits(),
cloneFrame.width(),
cloneFrame.height(),
QVideoFrame::imageFormatFromPixelFormat(cloneFrame.pixelFormat()));
if (MainWindow* child = dynamic_cast<MainWindow*>(this)) {
//QGraphicsScene *scene = new QGraphicsScene(this);
//scene->addPixmap(QPixmap::fromImage(image));
//scene->setSceneRect(image.rect());
child->ui->label->setPixmap(QPixmap::fromImage(image));
child->ui->label->update();
//child->ui->graphicsView->setScene(scene);
//child->ui->graphicsView->update();
}
//emit frameAvailable(image);
cloneFrame.unmap();
return true;
}
return false;
}
이미지에 실제 데이터가 포함되어 있는지 디버그하려고 했습니까? – JLev
QLabel에서 표시 할 수없는 QVideoFrame 형식과 관련된 문제가 있음을 발견했습니다. 어떤 제안? – Veera