Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. How can I fix bug camera in Qt5.13.1?

How can I fix bug camera in Qt5.13.1?

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
18 Posts 3 Posters 1.7k 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.
  • N Offline
    N Offline
    neda
    wrote on last edited by neda
    #1

    I wanna adjust exposure related settings in my camera. For example I try to use function "camera.searchAndLock()" but it doesn't work.

    I tried to run camera example of Qt, but for the following code I have always "Unlocked" status.

    switch (m_camera->lockStatus()) {
        case QCamera::Searching:
        case QCamera::Locked:
            m_camera->unlock();
            break;
        case QCamera::Unlocked:
            m_camera->searchAndLock();
        }
    

    I write the following QML codes, but the following code always return "unlocking focus".

    if (camera.lockStatus == Camera.Unlocked) {
        camera.searchAndLock();
        console.log("searching focus...")                                
       }                                 
       else {                           
            camera.unlock();                        
            console.log("unlocking focus...")                            
         }
    

    I want to change exposure related settings in my camera by the following codes, but all of them do not work:

    camera.searchAndLock()    
    camera.exposure.exposureCompensation = value
    camera.exposure.spotMeteringPoint.x=value
    camera.exposure.spotMeteringPoint.y=value
    camera.exposure.manualShutterSpeed = value
    camera.exposure.iso  = value
    camera.exposure.manualAperture=value
    

    I try to use "searchAndLock()" function for start focusing, exposure calculation, but after running this function status of my camera is still "Unlocked" rather "Searching".

    What can I do with this bug? Which version of Qt I can install that doesn't has this bug?

    I was success to fix bug of "SerialPort" by read this link:
    https://stackoverflow.com/questions/58020663/how-to-make-qserialport-from-qt5-13-1-work

    Is there a way for fix this bug by me?

    Qt Version: Qt 5.13.1 (MSVC 2017, 32 bit),
    Platform: Windows 10

    jsulmJ Pablo J. RoginaP 2 Replies Last reply
    0
    • N neda

      I wanna adjust exposure related settings in my camera. For example I try to use function "camera.searchAndLock()" but it doesn't work.

      I tried to run camera example of Qt, but for the following code I have always "Unlocked" status.

      switch (m_camera->lockStatus()) {
          case QCamera::Searching:
          case QCamera::Locked:
              m_camera->unlock();
              break;
          case QCamera::Unlocked:
              m_camera->searchAndLock();
          }
      

      I write the following QML codes, but the following code always return "unlocking focus".

      if (camera.lockStatus == Camera.Unlocked) {
          camera.searchAndLock();
          console.log("searching focus...")                                
         }                                 
         else {                           
              camera.unlock();                        
              console.log("unlocking focus...")                            
           }
      

      I want to change exposure related settings in my camera by the following codes, but all of them do not work:

      camera.searchAndLock()    
      camera.exposure.exposureCompensation = value
      camera.exposure.spotMeteringPoint.x=value
      camera.exposure.spotMeteringPoint.y=value
      camera.exposure.manualShutterSpeed = value
      camera.exposure.iso  = value
      camera.exposure.manualAperture=value
      

      I try to use "searchAndLock()" function for start focusing, exposure calculation, but after running this function status of my camera is still "Unlocked" rather "Searching".

      What can I do with this bug? Which version of Qt I can install that doesn't has this bug?

      I was success to fix bug of "SerialPort" by read this link:
      https://stackoverflow.com/questions/58020663/how-to-make-qserialport-from-qt5-13-1-work

      Is there a way for fix this bug by me?

      Qt Version: Qt 5.13.1 (MSVC 2017, 32 bit),
      Platform: Windows 10

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @neda What does https://doc.qt.io/qt-5/qcamera.html#supportedLocks return?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      N 1 Reply Last reply
      1
      • jsulmJ jsulm

        @neda What does https://doc.qt.io/qt-5/qcamera.html#supportedLocks return?

        N Offline
        N Offline
        neda
        wrote on last edited by
        #3

        @jsulm

        I try to use the following code for show list the lock types, camera supports, but it has a lot error like:

        'const_iterator': is not a member of 'QFlags<QCamera::LockType>'
        
         'i': is not a member of 'QtPrivate::QForeachContainer<QFlags<QCamera::LockType>>'
        
        QFlags<QCamera::LockType> lockTypesCamera = m_camera->supportedLocks();
        
            foreach (QCamera::LockType &lockType, lockTypesCamera) {
                 qDebug()<<lockType;
            }
        
        jsulmJ 1 Reply Last reply
        0
        • N neda

          @jsulm

          I try to use the following code for show list the lock types, camera supports, but it has a lot error like:

          'const_iterator': is not a member of 'QFlags<QCamera::LockType>'
          
           'i': is not a member of 'QtPrivate::QForeachContainer<QFlags<QCamera::LockType>>'
          
          QFlags<QCamera::LockType> lockTypesCamera = m_camera->supportedLocks();
          
              foreach (QCamera::LockType &lockType, lockTypesCamera) {
                   qDebug()<<lockType;
              }
          
          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by jsulm
          #4

          @neda

          auto lockTypesCamera = m_camera->supportedLocks();
          
          for (auto &lockType : lockTypesCamera) {
               qDebug() << static_cast<int>(lockType);
          }
          

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          N 1 Reply Last reply
          0
          • jsulmJ jsulm

            @neda

            auto lockTypesCamera = m_camera->supportedLocks();
            
            for (auto &lockType : lockTypesCamera) {
                 qDebug() << static_cast<int>(lockType);
            }
            
            N Offline
            N Offline
            neda
            wrote on last edited by neda
            #5

            @jsulm said in How can I fix bug camera in Qt5.13.1?:

            auto lockTypesCamera = m_camera->supportedLocks();

            for (auto &lockType : lockTypesCamera) {
            qDebug() << static_cast<int>(lockType);
            }

            New error:

            
            error: invalid range expression of type 'QFlags<QCamera::LockType>'; no viable 'begin' function available
            
            auto lockTypesCamera = m_camera->supportedLocks();
            
                for (auto &lockType : lockTypesCamera) {
                     qDebug() << static_cast<int>(lockType);
                }
            

            I try the following code, but it has error too.

            auto lockTypesCamera = m_camera->supportedLocks();
            foreach (auto &lockType, lockTypesCamera) {
                    qDebug() << static_cast<int>(lockType);
                }
            
             error: C2039: 'const_iterator': is not a member of 'QFlags<QCamera::LockType>'
            
            jsulmJ 1 Reply Last reply
            0
            • N neda

              @jsulm said in How can I fix bug camera in Qt5.13.1?:

              auto lockTypesCamera = m_camera->supportedLocks();

              for (auto &lockType : lockTypesCamera) {
              qDebug() << static_cast<int>(lockType);
              }

              New error:

              
              error: invalid range expression of type 'QFlags<QCamera::LockType>'; no viable 'begin' function available
              
              auto lockTypesCamera = m_camera->supportedLocks();
              
                  for (auto &lockType : lockTypesCamera) {
                       qDebug() << static_cast<int>(lockType);
                  }
              

              I try the following code, but it has error too.

              auto lockTypesCamera = m_camera->supportedLocks();
              foreach (auto &lockType, lockTypesCamera) {
                      qDebug() << static_cast<int>(lockType);
                  }
              
               error: C2039: 'const_iterator': is not a member of 'QFlags<QCamera::LockType>'
              
              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @neda Well, it can't work like this as flags are bit-maps.

              auto lockTypesCamera = m_camera->supportedLocks();
              if (lockTypesCamera == QCamera::NoLock) {
                  qDebug() << "NoLock";
              } else {
                  if (lockTypesCamera | QCamera::LockExposure) {
                      qDebug() << "LockExposure";
                  }
                  if lockTypesCamera | QCamera::LockWhiteBalance) {
                      qDebug() << "LockWhiteBalance";
                  }
                  if (lockTypesCamera | QCamera::LockFocus) {
                      qDebug() << "LockFocus";
                  }
              }
              

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              N 1 Reply Last reply
              2
              • jsulmJ jsulm

                @neda Well, it can't work like this as flags are bit-maps.

                auto lockTypesCamera = m_camera->supportedLocks();
                if (lockTypesCamera == QCamera::NoLock) {
                    qDebug() << "NoLock";
                } else {
                    if (lockTypesCamera | QCamera::LockExposure) {
                        qDebug() << "LockExposure";
                    }
                    if lockTypesCamera | QCamera::LockWhiteBalance) {
                        qDebug() << "LockWhiteBalance";
                    }
                    if (lockTypesCamera | QCamera::LockFocus) {
                        qDebug() << "LockFocus";
                    }
                }
                
                N Offline
                N Offline
                neda
                wrote on last edited by neda
                #7

                @jsulm said in How can I fix bug camera in Qt5.13.1?:

                auto lockTypesCamera = m_camera->supportedLocks();
                if (lockTypesCamera == QCamera::NoLock) {
                qDebug() << "NoLock";
                } else {
                if (lockTypesCamera | QCamera::LockExposure) {
                qDebug() << "LockExposure";
                }
                if lockTypesCamera | QCamera::LockWhiteBalance) {
                qDebug() << "LockWhiteBalance";
                }
                if (lockTypesCamera | QCamera::LockFocus) {
                qDebug() << "LockFocus";
                }
                }

                Thanks
                It return "NoLock", but my camera has a windows application.
                That application can adjust exposure related settings.
                How can they change exposure related settings without change lock status?

                I want to change exposure related settings in my camera by the following codes, but all of them do not work:

                camera.searchAndLock()    
                camera.exposure.exposureCompensation = value
                camera.exposure.spotMeteringPoint.x=value
                camera.exposure.spotMeteringPoint.y=value
                camera.exposure.manualShutterSpeed = value
                camera.exposure.iso  = value
                camera.exposure.manualAperture=value
                
                jsulmJ 1 Reply Last reply
                0
                • N neda

                  @jsulm said in How can I fix bug camera in Qt5.13.1?:

                  auto lockTypesCamera = m_camera->supportedLocks();
                  if (lockTypesCamera == QCamera::NoLock) {
                  qDebug() << "NoLock";
                  } else {
                  if (lockTypesCamera | QCamera::LockExposure) {
                  qDebug() << "LockExposure";
                  }
                  if lockTypesCamera | QCamera::LockWhiteBalance) {
                  qDebug() << "LockWhiteBalance";
                  }
                  if (lockTypesCamera | QCamera::LockFocus) {
                  qDebug() << "LockFocus";
                  }
                  }

                  Thanks
                  It return "NoLock", but my camera has a windows application.
                  That application can adjust exposure related settings.
                  How can they change exposure related settings without change lock status?

                  I want to change exposure related settings in my camera by the following codes, but all of them do not work:

                  camera.searchAndLock()    
                  camera.exposure.exposureCompensation = value
                  camera.exposure.spotMeteringPoint.x=value
                  camera.exposure.spotMeteringPoint.y=value
                  camera.exposure.manualShutterSpeed = value
                  camera.exposure.iso  = value
                  camera.exposure.manualAperture=value
                  
                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by jsulm
                  #8

                  @neda Can be that Qt does not support your camera properly.

                  "How can they change exposure related settings without change lock status?" - I guess that app does not use Qt and communicates directly with the camera through a low level API.

                  See https://doc.qt.io/qt-5/qtmultimedia-windows.html
                  "Basic features such as displaying a viewfinder and capturing a still image are supported, however, majority of camera controls are not implemented."

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  N 2 Replies Last reply
                  1
                  • jsulmJ jsulm

                    @neda Can be that Qt does not support your camera properly.

                    "How can they change exposure related settings without change lock status?" - I guess that app does not use Qt and communicates directly with the camera through a low level API.

                    See https://doc.qt.io/qt-5/qtmultimedia-windows.html
                    "Basic features such as displaying a viewfinder and capturing a still image are supported, however, majority of camera controls are not implemented."

                    N Offline
                    N Offline
                    neda
                    wrote on last edited by
                    #9

                    @jsulm
                    Thank you very much.

                    1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @neda Can be that Qt does not support your camera properly.

                      "How can they change exposure related settings without change lock status?" - I guess that app does not use Qt and communicates directly with the camera through a low level API.

                      See https://doc.qt.io/qt-5/qtmultimedia-windows.html
                      "Basic features such as displaying a viewfinder and capturing a still image are supported, however, majority of camera controls are not implemented."

                      N Offline
                      N Offline
                      neda
                      wrote on last edited by neda
                      #10

                      @jsulm

                      Thanks a lot
                      And last question
                      I should solve this problem, I have to write a program that works with this camera.
                      Do I have to be disappointed with Qt?
                      Do you suggest other language or editor?
                      Which programming language or editor do you recommend?

                      jsulmJ 1 Reply Last reply
                      0
                      • N neda

                        @jsulm

                        Thanks a lot
                        And last question
                        I should solve this problem, I have to write a program that works with this camera.
                        Do I have to be disappointed with Qt?
                        Do you suggest other language or editor?
                        Which programming language or editor do you recommend?

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #11

                        @neda said in How can I fix bug camera in Qt5.13.1?:

                        Do I have to be disappointed with Qt?

                        Well, it is like it is, Qt does not have support for everything.

                        "Do you suggest other language or editor?" - this is not related to programming language and even less to an editor.
                        You need to check what is available for your camera: does the manufacturer provide any SDK, client libraries, drivers, ...?
                        If there is a SDK/client lib for C/C++ you can use it in your Qt app as any other C/C++ lib.

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        N 2 Replies Last reply
                        3
                        • jsulmJ jsulm

                          @neda said in How can I fix bug camera in Qt5.13.1?:

                          Do I have to be disappointed with Qt?

                          Well, it is like it is, Qt does not have support for everything.

                          "Do you suggest other language or editor?" - this is not related to programming language and even less to an editor.
                          You need to check what is available for your camera: does the manufacturer provide any SDK, client libraries, drivers, ...?
                          If there is a SDK/client lib for C/C++ you can use it in your Qt app as any other C/C++ lib.

                          N Offline
                          N Offline
                          neda
                          wrote on last edited by
                          #12

                          @jsulm Thank you very much.

                          Pablo J. RoginaP 1 Reply Last reply
                          0
                          • N neda

                            @jsulm Thank you very much.

                            Pablo J. RoginaP Offline
                            Pablo J. RoginaP Offline
                            Pablo J. Rogina
                            wrote on last edited by
                            #13

                            @neda if you're done with the issue please don't forget to mark your post as solved. Thanks.

                            Upvote the answer(s) that helped you solve the issue
                            Use "Topic Tools" button to mark your post as Solved
                            Add screenshots via postimage.org
                            Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                            1 Reply Last reply
                            1
                            • jsulmJ jsulm

                              @neda said in How can I fix bug camera in Qt5.13.1?:

                              Do I have to be disappointed with Qt?

                              Well, it is like it is, Qt does not have support for everything.

                              "Do you suggest other language or editor?" - this is not related to programming language and even less to an editor.
                              You need to check what is available for your camera: does the manufacturer provide any SDK, client libraries, drivers, ...?
                              If there is a SDK/client lib for C/C++ you can use it in your Qt app as any other C/C++ lib.

                              N Offline
                              N Offline
                              neda
                              wrote on last edited by
                              #14

                              @jsulm

                              I found this project.
                              https://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library?msg=4123457#xx4123457xx
                              I tested my camera with this project.
                              Every thing was ok and I can changed all settings of camera.
                              This project use WebCamLib – it is a C++ project with just two files (WebCamLib.h and WebCamLib.cpp) that queries a WebCam using DirectShow and returns results.
                              I think maybe I can use this library or even WebCamLib's source in my project rather start new project with c#, because I have to run my application by this camera.
                              Do you think is possible?
                              Would you please guide me that how can I use WebCamLib's source in my project ?

                              jsulmJ 1 Reply Last reply
                              0
                              • N neda

                                @jsulm

                                I found this project.
                                https://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library?msg=4123457#xx4123457xx
                                I tested my camera with this project.
                                Every thing was ok and I can changed all settings of camera.
                                This project use WebCamLib – it is a C++ project with just two files (WebCamLib.h and WebCamLib.cpp) that queries a WebCam using DirectShow and returns results.
                                I think maybe I can use this library or even WebCamLib's source in my project rather start new project with c#, because I have to run my application by this camera.
                                Do you think is possible?
                                Would you please guide me that how can I use WebCamLib's source in my project ?

                                jsulmJ Offline
                                jsulmJ Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #15

                                @neda said in How can I fix bug camera in Qt5.13.1?:

                                Do you think is possible?

                                It looks more like C# lib. Which exact C++ library do you mean?

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                N 1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @neda said in How can I fix bug camera in Qt5.13.1?:

                                  Do you think is possible?

                                  It looks more like C# lib. Which exact C++ library do you mean?

                                  N Offline
                                  N Offline
                                  neda
                                  wrote on last edited by
                                  #16

                                  @jsulm said in How can I fix bug camera in Qt5.13.1?:

                                  It looks more like C# lib. Which exact C++ library do you mean?

                                  WebCamLib - This is a C ++ project.
                                  Is there a way on how to overwrite this project in Qt?

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • N neda

                                    @jsulm said in How can I fix bug camera in Qt5.13.1?:

                                    It looks more like C# lib. Which exact C++ library do you mean?

                                    WebCamLib - This is a C ++ project.
                                    Is there a way on how to overwrite this project in Qt?

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #17

                                    @neda said in How can I fix bug camera in Qt5.13.1?:

                                    Is there a way on how to overwrite this project in Qt?

                                    If it is C++ you can use it as any other C++ code or library. Either add the source code to your project or build it as library and add library to your project.

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    0
                                    • N neda

                                      I wanna adjust exposure related settings in my camera. For example I try to use function "camera.searchAndLock()" but it doesn't work.

                                      I tried to run camera example of Qt, but for the following code I have always "Unlocked" status.

                                      switch (m_camera->lockStatus()) {
                                          case QCamera::Searching:
                                          case QCamera::Locked:
                                              m_camera->unlock();
                                              break;
                                          case QCamera::Unlocked:
                                              m_camera->searchAndLock();
                                          }
                                      

                                      I write the following QML codes, but the following code always return "unlocking focus".

                                      if (camera.lockStatus == Camera.Unlocked) {
                                          camera.searchAndLock();
                                          console.log("searching focus...")                                
                                         }                                 
                                         else {                           
                                              camera.unlock();                        
                                              console.log("unlocking focus...")                            
                                           }
                                      

                                      I want to change exposure related settings in my camera by the following codes, but all of them do not work:

                                      camera.searchAndLock()    
                                      camera.exposure.exposureCompensation = value
                                      camera.exposure.spotMeteringPoint.x=value
                                      camera.exposure.spotMeteringPoint.y=value
                                      camera.exposure.manualShutterSpeed = value
                                      camera.exposure.iso  = value
                                      camera.exposure.manualAperture=value
                                      

                                      I try to use "searchAndLock()" function for start focusing, exposure calculation, but after running this function status of my camera is still "Unlocked" rather "Searching".

                                      What can I do with this bug? Which version of Qt I can install that doesn't has this bug?

                                      I was success to fix bug of "SerialPort" by read this link:
                                      https://stackoverflow.com/questions/58020663/how-to-make-qserialport-from-qt5-13-1-work

                                      Is there a way for fix this bug by me?

                                      Qt Version: Qt 5.13.1 (MSVC 2017, 32 bit),
                                      Platform: Windows 10

                                      Pablo J. RoginaP Offline
                                      Pablo J. RoginaP Offline
                                      Pablo J. Rogina
                                      wrote on last edited by
                                      #18

                                      @neda said in How can I fix bug camera in Qt5.13.1?:

                                      I wanna adjust exposure related settings in my camera. For example I try to use function "camera.searchAndLock()" but it doesn't work.

                                      1. What hardware are you using (i.e. webcam attached to USB, Android phone camera, Raspberry Pi camera, etc.)?

                                      2. Are you positive that the underlying hardware allows for all those settings (i.e. focus lock, exposure, manual shutter, etc.)?

                                      3. Have you tried that same hardware with a different (non-Qt) application?

                                      Upvote the answer(s) that helped you solve the issue
                                      Use "Topic Tools" button to mark your post as Solved
                                      Add screenshots via postimage.org
                                      Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                                      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