学习 OpenCV2 – Qt 的 QGraphicsScene 坐标

关于 setSceneRect 前两个参数x y 不好理解,姑且这样理解 scene 就是场景, View 就是视角。当视图大于场景时,默认两者是中心对齐的;当视图小于场景时,两者左上对齐。 setSceneRect(x,y,w,h) 的参数 x,y 可以理解为 让视角相对于默认场景移动 x,y 。如果视角是不动的,所以看起来就像场景向相反方向移动了。

    //Scene & View
    QGraphicsScene *scene = new QGraphicsScene();
    scene->setSceneRect(100,50,40,30);

    scene->addPixmap(QPixmap::fromImage(img));

    // display scene area, item coordinates
    scene->addRect(0,0,40,30,QPen(Qt::red));


    ui->graphicsView->setScene(scene);
    ui->graphicsView->show();

    //map
    qDebug() << "mapFromScene(0,0) is : " << ui->graphicsView->mapFromScene(0,0);
    qDebug() << "mapToScene(0,0) is : " << ui->graphicsView->mapToScene(0,0);


}

Debugging starts
mapFromScene(0,0) is :  QPoint(359,294)
mapToScene(0,0) is :  QPointF(-359,-294)
Debugging has finished

项目: QtUIOpenCV_scene_view

学习 OpenCV2 – 用 QGraphicsView 显示 cv::Mat 图像

cv::Mat 转换为 QImage , 使用 QGraphicsView  和 QGraphicsScene 显示图像。

mainwindow.cpp

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>

...

    using namespace cv;
    //read image
    Mat image = imread("lena.png");
	//cv::Mat BGR to Qimage RGB
    cvtColor(image,image,CV_BGR2RGB);
	//
    QImage img = QImage((const uchar*)(image.data), image.cols,image.rows,QImage::Format_RGB888);

    //Scene & View
    QGraphicsScene *scene = new QGraphicsScene();
    scene->addPixmap(QPixmap::fromImage(img));
	//
    ui->graphicsView->setScene(scene);
    ui->graphicsView->show();



也可以用 Item 添加图片

    QGraphicsPixmapItem *pixmapItem = new QGraphicsPixmapItem(QPixmap::fromImage(img));
    scene->addItem(pixmapItem);

项目文件:QtUIOpenCV

学习 OpenCV2 – 配置 Win10+OpenCV2.4.13.6+VS2015+Qt5.9.1(Qt5.12.0)

一、安装

1.OpenCV2

官方 V2 最新版本是 2.4.13.6. 下载地址:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.13/opencv-2.4.13.6-vc14.exe/download (vc14 即 vs2015)。

2.VS2015 和 Qt5.9.1(Qt5.12.0)

安装时VS需要勾选 C++ ,Qt 要勾选 VS2015 x64。

What’s New in Qt 5.12:http://doc.qt.io/qt-5/whatsnew512.html
Qt 5.12 download        :http://download.qt.io/official_releases/qt/5.12/
Qt 5.12 Release          :https://wiki.qt.io/Qt_5.12_Release

3.Qt Debugger

下载 Download Debugging Tools for Windows https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools 。如果是Win10,下载 WIndows SDK , 当前版本是 10.0.17763,https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk

4.Image Watch

非常重要的插件,可以在VS中查看 Mat 对象。

Image Watch is a watch window for viewing in-memory bitmaps when debugging native C++ code. 

5.Qt Visual Studio Tools

在Visual Studio中,打开 Tools -> Extensions and Updates ,在线搜索 Qt Visual Studio Tools。使用文档一定要读:http://doc.qt.io/qtvstools/index.html

Continue reading