What should I use for 2D and 3D image visualisation with pan and zoom?



  • I'm prototyping computer vision algorithms in C++ and I have to display an image with various graphic overlays (lines, arrows, text, etc.), and I need to zoom, pan and pick. Since images may be over megapixel in size and each pixel may have text and graphics overlay, I prefer to build the data structure to display first (scene) and then display it with a single call, rather than call the graphics subsystem once per each element (text, line, etc.). I prefer a display method, which is easily extendible from 2D to 3D.

    I found Qt3D, QPainter and QOpenGLxxx classes, but I have very little experience with Qt and don't know, which of them is most suitable for my application. Any suggestions would be greatly appreciated.


  • Qt Champions 2016

    @pauljurczak
    HI and welcome
    QGraphicsView might be a good candidate.
    There is no clear path to 3d though.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    @mrjj's suggestion is good for 2D visualization but since are planning on both 2 and 3D, I'd recommend taking a look at Qt3D



  • @mrjj said:

    QGraphicsView

    Thanks, I will play with QGraphicsView to get more familiar with Qt.



  • @SGaist

    I will start with QGraphicsView, because there are books with chapters about it and several example projects in Qt distribution. Qt3D is more sparsely documented, so I will tackle it later when I really need 3D option. Thank you for your advice.


  • Lifetime Qt Champion

    The documentation of Qt3D is getting improved to match Qt's standard. The module with Qt 5.5 is a tech preview


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.