Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用QCamera翻转实时提要_C++_Qt - Fatal编程技术网

C++ 使用QCamera翻转实时提要

C++ 使用QCamera翻转实时提要,c++,qt,C++,Qt,我在主窗口上有Qlabel小部件(对象名=标签2)。我在这个小部件上显示摄像头的实时提要。一切正常。但是,我想知道如何更改live feed的方向(比如我想将其翻转90°) QList-cameras=QCameraInfo::availableCameras(); foreach(康斯特QCAMERINFO和cameraInfo,摄像机) { 如果(cameraInfo.deviceName()=“@device:pnp:\\\\\?\\pci{65e8773d-8f56-11d0-a3b9-

我在主窗口上有Qlabel小部件(对象名=标签2)。我在这个小部件上显示摄像头的实时提要。一切正常。但是,我想知道如何更改live feed的方向(比如我想将其翻转90°)

QList-cameras=QCameraInfo::availableCameras();
foreach(康斯特QCAMERINFO和cameraInfo,摄像机)
{
如果(cameraInfo.deviceName()=“@device:pnp:\\\\\?\\pci{65e8773d-8f56-11d0-a3b9-00a0c9223196}\\global”)
cM2=新的QCamera(Cameranfo,this);
}
cV2=新的QCameraViewfinder(本);
cM2->设置取景器(cV2);
cBox2=新的QVBoxLayout();
cBox2->addWidget(cV2);
ui->label_2->setLayout(cBox2);
cM2->start();

QCameraViewfinder不会旋转,因此使用QGraphicsVideoviewer可能会更好

比如:

#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);
#包括
videoItem=新的QGraphicsVideoItem;
videoItem->setSize(QSizeF(640480));
Graphicscene*场景=新的QGraphicscene(此);
QGraphicsView*graphicsView=新的QGraphicsView(场景);
场景->添加项(视频项);
cM2->设置取景器(视频项目);
videoItem->setTransform(QTransform().rotate(90));
cBox2->addWidget(图形视图);

Hi QCamera没有此功能。你在哪里看到的?可能是齐玛格!!谢谢你提供链接。不知什么原因,我不能把这个包括在内。这是因为在Qt3dRender里面没有QCamera类。我还没有试过上面的帖子,但我想这应该行得通。因此,将您的ans标记为正确的。:-我尝试了您的建议,但是程序在cBox->addWidget(graphicsView)行崩溃;
#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);