Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. QImage avec data:image/png;base64
QtWS25 Last Chance

QImage avec data:image/png;base64

Scheduled Pinned Locked Moved Unsolved French
15 Posts 3 Posters 1.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mercusyo
    wrote on last edited by
    #1

    Bonjour à toutes et à tous,

    J'ai un léger souci concernant un projet développé en Qt 6 + QML avec une partie C++.
    J'aimerais afficher une image provenant d'une caméra dans un QImage via l'encodage data:image/png;base64.

    J'ai récupéré en <debug> le contenu de ma variable et je l'ai copié sur le site web :https://base64.guru/converter/decode/image/png, pour tester, et j'obtiens bien l'image.

    Je dois (très certainement) mal m'y prendre côté QML ...

    Merci pour votre aide,
    Bien Cordialement,

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Bonjour,

      Comment est-ce que vous le faite à l'heure actuelle ?
      Est-ce un flux vidéo ou une image fixe ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Mercusyo
        wrote on last edited by
        #3

        Bonjour,

        Pour répondre à la question : effectivement, j'aimerais à terme un flux vidéo.

        Sinon, j'ai trouvé le souci pour afficher une image, en fait, côté QML, la largeur et hauteur de l'image proviennent également du "imageProvider" ... je les modifiais bien mais j'avais oublié l'appel aux signaux (emit imageChanged())

        Merci,

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Dans ce cas, le module QtMultimedia fournit déjà les outils nécessaires.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • M Offline
            M Offline
            Mercusyo
            wrote on last edited by
            #5

            Bonjour,

            Merci pour votre complément de réponse. La caméra que j'utilise n'est pas une webcam, c'est une caméra Flir. J'ai réussi à la faire fonctionner sous DirectShow, à voir si cela fonctionne avec la classe 'QtMultimedia ' de Qt 6.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Mercusyo
              wrote on last edited by
              #6

              J'ai lu sur le site de Qt : Supported backends
              With Qt 6 we have also revisited the supported backends and reduced those to a set we believe can be supported in the future. In Qt 5, we had for example three completely different backend implementations on Windows, using DirectShow, WMF and a separate WMF based implementation for WinRT.

              In Qt 6, the currently supported set is:

              Linux, using GStreamer
              macOS and iOS using AVFoundation
              Windows using WMF
              Android using the MediaPlayer and Camera Java APIs
              Support for QNX is planned for Qt 6.3. We might also have low level audio working on WebAssembly in time for 6.2. In addition we still have code for low level audio support on Linux using PulseAudio or ALSA, but those are currently not tested or supported. Depending on demand we might bring those back in a later release.

              Donc depuisQt 6, il n'y a plus la possibilité d'utiliser 'Direct Show'...

              Merci,

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                Le backend par défaut est ffmpeg depuis 6.5.

                Pour Direct Show, pour autant que je sache, non.

                Est-ce que cette caméra offre d'autres interfaces / API pour accéder aux images qu'elle génère ?

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  Mercusyo
                  wrote on last edited by
                  #8

                  Re Bonjour,

                  Oui, il y a une API spécifique à cette caméra. J'ai intégré une méthode spécifique permettant de retourner un tableau de 'unsigned char'

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    Mercusyo
                    wrote on last edited by
                    #9

                    Re Bonjour,

                    J'ai réussi à faire un petit programme de test de "vidéo streaming" en utilisant OpenGL.

                    Du coup, j'aimerais intégrer ce code dans mon application QML, mais je n'ai jamais réalisé de rendu de scène OpenGL en QML.
                    Comment faire ? Je viens de lire d'utiliser la classe 'QQuickFramebufferObject ' ?

                    Merci,

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      Je ne l'ai pas fait non plus mais je partirais de cet exemple: https://doc.qt.io/qt-6/qtquick-scenegraph-openglunderqml-example.html

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        Mercusyo
                        wrote on last edited by
                        #11

                        Bonjour,

                        J'ai réussi à afficher un rectangle rouge dans un QML à partir de code C++ avec l'aide de la classe 'QQuickFramebufferObject ' et un renderer associé.

                        De la même façon, j'essaie maintenant d'afficher une image en 'unsigned char' et cela n'affiche rien ... et je ne trouve pas grand chose sur ce sujet sur le net.

                        Merci pour vos idées,

                        1 Reply Last reply
                        0
                        • GrecKoG Offline
                          GrecKoG Offline
                          GrecKo
                          Qt Champions 2018
                          wrote on last edited by
                          #12

                          À ta place pour afficher une vidéo avec un format custom, j'utiliserais QtMultimedia en construisant des QVideoFrame et en les passant à un QVideoSink.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            Mercusyo
                            wrote on last edited by
                            #13

                            Merci GrecKo pour ta réponse. Par contre, ma caméra n'est pas une webcam mais une caméra de la marque Flir (fonctionne que avec DirectShow). Du coup, je ne sais pas si cela fonctionnera avec la classe QtMultimedia ?

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              Mercusyo
                              wrote on last edited by
                              #14

                              Sinon entre temps, j'ai réussi à faire afficher sous OpenGL et QML avec 'QQuickFramebufferObject ', une image provenant d'un tableau d'unsigned char. J'ai rajouté un timer, et je fais évoluer ce tableau toutes les secondes avec rafraîchissement à l'écran.

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                Mercusyo
                                wrote on last edited by
                                #15

                                Bonjour,

                                J'ai réussi à faire ce dont j'avais en tête.
                                Utilisation de Qt 6.7.1 avec QML et openGL pour afficher des images en mode "stream video" à partir d'une caméra de la marque Flir, ou toute autre caméra qui n'est pas compatible "Windows Media Foundation" mais "Direct show" : ce qui n'est plus possible depuis Qt6.

                                Par contre, je ne peux pas joindre les fichiers sources de mon programme de tests, désolé.

                                1 Reply Last reply
                                0

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved