Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. A camera problem.
Forum Updated to NodeBB v4.3 + New Features

A camera problem.

Scheduled Pinned Locked Moved Unsolved General and Desktop
91 Posts 7 Posters 20.2k Views 2 Watching
  • 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.
  • JonBJ JonB

    @jenya7
    OK, but why not try the example from the docs, in a standalone test program? Not going to say it again.....

    J Offline
    J Offline
    jenya7
    wrote on last edited by
    #77

    @JonB said in A camera problem.:

    @jenya7
    OK, but why not try the example from the docs, in a standalone test program? Not going to say it again.....

    It runs on Windows machine. Have to arrange some camera....

    JonBJ 1 Reply Last reply
    0
    • J jenya7

      @JonB said in A camera problem.:

      @jenya7
      OK, but why not try the example from the docs, in a standalone test program? Not going to say it again.....

      It runs on Windows machine. Have to arrange some camera....

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #78

      @jenya7
      What runs on Windows machine? It's just sample code, does it not run on whatever platform you are on? You may know better than I, I'll keep quiet now.

      1 Reply Last reply
      0
      • jsulmJ jsulm

        @jenya7 said in A camera problem.:

        I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

        Where do you see it and where do you create camera object? Can you please post relevant code?

        J Offline
        J Offline
        jenya7
        wrote on last edited by
        #79

        @jsulm said in A camera problem.:

        @jenya7 said in A camera problem.:

        I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

        Where do you see it and where do you create camera object? Can you please post relevant code?

        I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.
        This way it works without errors

        QCameraViewfinder *v_finder;
        
        MainWindow::MainWindow(QWidget *parent) :
            QMainWindow(parent),
            ui(new Ui::MainWindow)
        {
            v_finder = new QCameraViewfinder(this);
            v_finder->show();
        
            ui->setupUi(this);
            ui->textEditTerminalTx->installEventFilter(this);
        }
        
        void Camera::setCamera(const QCameraInfo &cameraInfo)
        {
               //........................
        
             m_camera->setViewfinder(v_finder);
        
              //............................
        }
        
        

        Is it OK?

        JonBJ 1 Reply Last reply
        0
        • J jenya7

          @jsulm said in A camera problem.:

          @jenya7 said in A camera problem.:

          I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

          Where do you see it and where do you create camera object? Can you please post relevant code?

          I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.
          This way it works without errors

          QCameraViewfinder *v_finder;
          
          MainWindow::MainWindow(QWidget *parent) :
              QMainWindow(parent),
              ui(new Ui::MainWindow)
          {
              v_finder = new QCameraViewfinder(this);
              v_finder->show();
          
              ui->setupUi(this);
              ui->textEditTerminalTx->installEventFilter(this);
          }
          
          void Camera::setCamera(const QCameraInfo &cameraInfo)
          {
                 //........................
          
               m_camera->setViewfinder(v_finder);
          
                //............................
          }
          
          

          Is it OK?

          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by JonB
          #80

          @jenya7 said in A camera problem.:

          I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

          And what was the result?!

          I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

          At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

          J 1 Reply Last reply
          1
          • JonBJ JonB

            @jenya7 said in A camera problem.:

            I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

            And what was the result?!

            I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

            At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

            J Offline
            J Offline
            jenya7
            wrote on last edited by
            #81

            @JonB said in A camera problem.:

            @jenya7 said in A camera problem.:

            I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

            And what was the result?!

            I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

            At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

            m_camera->setViewfinder(v_finder) is executed first

            JonBJ 1 Reply Last reply
            0
            • J jenya7

              @JonB said in A camera problem.:

              @jenya7 said in A camera problem.:

              I put a break point in the MainWindow constructor and Camera constructor and see which hits the first.

              And what was the result?!

              I see the Camera object is created before MainWindow::MainWindow(QWidget *parent) constructor.

              At the time your Camera::setCamera() is called, has v_finder = new QCameraViewfinder(this); been executed yet? If not then v_finder in m_camera->setViewfinder(v_finder) will be nullptr....

              m_camera->setViewfinder(v_finder) is executed first

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #82

              @jenya7
              Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

              J 2 Replies Last reply
              1
              • JonBJ JonB

                @jenya7
                Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

                J Offline
                J Offline
                jenya7
                wrote on last edited by
                #83

                @JonB said in A camera problem.:

                @jenya7
                Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

                I'll try

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mchinand
                  wrote on last edited by
                  #84

                  It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

                  J 1 Reply Last reply
                  0
                  • M mchinand

                    It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

                    J Offline
                    J Offline
                    jenya7
                    wrote on last edited by
                    #85

                    @mchinand said in A camera problem.:

                    It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

                    It's a widget based example. I removed all widget related stuff cause I don't have all these controls for camera operating in my app. I control the camera with commands I type in a terminal.

                    jsulmJ 1 Reply Last reply
                    0
                    • J jenya7

                      @mchinand said in A camera problem.:

                      It seems your code is largely based on the Camera Example; is that correct? Does that example work for you unmodified?

                      It's a widget based example. I removed all widget related stuff cause I don't have all these controls for camera operating in my app. I control the camera with commands I type in a terminal.

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

                      @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

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

                      J 1 Reply Last reply
                      3
                      • jsulmJ jsulm

                        @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

                        J Offline
                        J Offline
                        jenya7
                        wrote on last edited by jenya7
                        #87

                        @jsulm said in A camera problem.:

                        @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

                        I'll try tomorrow. I have to get a camera.

                        well...in the original example I press on Capture Photo and it stays inactive forever.

                        J.HilkJ 1 Reply Last reply
                        0
                        • J Offline
                          J Offline
                          jenya7
                          wrote on last edited by jenya7
                          #88

                          How can I pass a default camera instance to use it later?
                          In camera.h

                          class Camera : public QMainWindow
                          {
                              Q_OBJECT
                          
                              public:
                              Camera();
                              void Camera::setCamera(const QCameraInfo &cameraInfo);
                          
                              const QCameraInfo* default_camera;   
                          }
                          

                          in camera.cpp in a constructor

                          if (cameraInfo == QCameraInfo::defaultCamera())
                          {
                                 default_camera = new QCameraInfo(cameraInfo );
                                  videoDeviceAction->setChecked(true);
                          }
                          

                          in main.cpp

                          g_camera.SetCamera(g_camera.default_camera );
                          

                          I get
                          error: reference to type 'const QCameraInfo' could not bind to an lvalue of type 'const QCameraInfo *'

                          1 Reply Last reply
                          0
                          • J jenya7

                            @jsulm said in A camera problem.:

                            @jenya7 Come on, the question is whether this example works with your camera or not! Can't you simply try that?

                            I'll try tomorrow. I have to get a camera.

                            well...in the original example I press on Capture Photo and it stays inactive forever.

                            J.HilkJ Online
                            J.HilkJ Online
                            J.Hilk
                            Moderators
                            wrote on last edited by
                            #89

                            @jenya7 said in A camera problem.:

                            I'll try tomorrow. I have to get a camera.

                            wait!

                            how do you expect the state to change to a ready for capture == true, when you have no camera connected that could be used ?


                            Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                            Q: What's that?
                            A: It's blue light.
                            Q: What does it do?
                            A: It turns blue.

                            J 1 Reply Last reply
                            0
                            • J.HilkJ J.Hilk

                              @jenya7 said in A camera problem.:

                              I'll try tomorrow. I have to get a camera.

                              wait!

                              how do you expect the state to change to a ready for capture == true, when you have no camera connected that could be used ?

                              J Offline
                              J Offline
                              jenya7
                              wrote on last edited by jenya7
                              #90

                              @J-Hilk said in A camera problem.:

                              @jenya7 said in A camera problem.:

                              I'll try tomorrow. I have to get a camera.

                              wait!

                              how do you expect the state to change to a ready for capture == true, when you have no camera connected that could be used ?

                              It's connected. The constructor detects it - "dev/video0".

                              I just wonted to try the original example on Windows. my app is running on Linux.

                              1 Reply Last reply
                              0
                              • JonBJ JonB

                                @jenya7
                                Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

                                J Offline
                                J Offline
                                jenya7
                                wrote on last edited by
                                #91

                                @JonB said in A camera problem.:

                                @jenya7
                                Then obviously it is not the right place to put m_camera->setViewfinder(v_finder);.... You cannot execute that line until both m_camera & v_finder have been initialized, so move it somewhere suitable.

                                I resolved the issue. Now I get

                                Ready for capture: true

                                But on takeImage

                                QWidget::paintEngine: Should no longer be called
                                CameraBin warning: "Resource busy or not available."

                                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