简体   繁体   English

使用QCamera翻转实时供稿

[英]Flipping the live feed using QCamera

I have the Qlabel widget(object name = label_2) on the mainwindow. 我在主窗口上有Qlabel小部件(对象名称= label_2)。 I display the live feed from camera on this widget. 我在此小部件上显示了摄像机的实时供稿。 Everything is working fine. 一切正常。 However i am wondering how can i change the orientation of live feed (say i want to flip it by 90°). 但是我想知道如何改变实时进给的方向(例如我想将其翻转90°)。

QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
foreach (const QCameraInfo &cameraInfo, cameras)
{
    if (cameraInfo.deviceName() == "@device:pnp:\\\\?\\pci#ven_109e&dev_036e&subsys_00000000&rev_11#5&12a6b002&0&000008#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\\global")
    cM2 = new QCamera(cameraInfo, this);
}
cV2 = new QCameraViewfinder(this);
cM2->setViewfinder(cV2);
cBox2 = new QVBoxLayout();
cBox2->addWidget(cV2);
ui->label_2->setLayout(cBox2);
cM2->start();

QCameraViewfinder does not rotate, so you might be better served using a QGraphicsVideoviewer. QCameraViewfinder不会旋转,因此使用QGraphicsVideoviewer可能会更好。

Something like: 就像是:

#include <QGraphicsVideoItem>

videoItem = new QGraphicsVideoItem;
videoItem->setSize(QSizeF(640, 480));

GraphicsScene *scene = new QGraphicsScene(this);
QGraphicsView *graphicsView = new QGraphicsView(scene);

scene->addItem(videoItem);

cM2->setViewfinder(videoItem);
videoItem->setTransform(QTransform().rotate(90));

cBox2->addWidget(graphicsView);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM