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. I want to crop a selected a rectangle area in live video feed and save those area or image in my local drive
Forum Updated to NodeBB v4.3 + New Features

I want to crop a selected a rectangle area in live video feed and save those area or image in my local drive

Scheduled Pinned Locked Moved Unsolved General and Desktop
23 Posts 2 Posters 7.8k Views 1 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.
  • R robotsandi

    i am also able to stop the camera and can i store that image in buffer to use those image.

    mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by mrjj
    #8

    @robotsandi
    Ok if you already can grab images, you simply load it with full path from where you store it
    or simply display it in QLabel ( as pixmap) and use rubberband to grab the area. ( or fixed in code if only needing that)
    Or if you can just stop the video and it still displays last image, then directly on that.

    R 1 Reply Last reply
    0
    • mrjjM mrjj

      @robotsandi
      Ok if you already can grab images, you simply load it with full path from where you store it
      or simply display it in QLabel ( as pixmap) and use rubberband to grab the area. ( or fixed in code if only needing that)
      Or if you can just stop the video and it still displays last image, then directly on that.

      R Offline
      R Offline
      robotsandi
      wrote on last edited by
      #9

      @mrjj
      yes, i just stop the video and it still displays the last image,
      but how can i directly it

      void MainWindow::on_pushButton_clicked()
      {
      mCamera->setViewfinder(mCameraViewfinder);
      mLayout->addWidget(mCameraViewfinder);
      mLayout->setMargin(0);
      ui->scrollArea->setLayout(mLayout);
      mCamera->start();
      }

      void MainWindow::on_pushButton_2_clicked()
      {
      mCamera->stop();
      }

      R 1 Reply Last reply
      0
      • R robotsandi

        @mrjj
        yes, i just stop the video and it still displays the last image,
        but how can i directly it

        void MainWindow::on_pushButton_clicked()
        {
        mCamera->setViewfinder(mCameraViewfinder);
        mLayout->addWidget(mCameraViewfinder);
        mLayout->setMargin(0);
        ui->scrollArea->setLayout(mLayout);
        mCamera->start();
        }

        void MainWindow::on_pushButton_2_clicked()
        {
        mCamera->stop();
        }

        R Offline
        R Offline
        robotsandi
        wrote on last edited by
        #10

        @mrjj Plese help me.

        mrjjM 1 Reply Last reply
        0
        • R robotsandi

          @mrjj Plese help me.

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #11

          @robotsandi
          well i dont know for sure.
          I think you have to use a
          http://doc.qt.io/qt-5/qcameraimagecapture.html#details
          to get an image.
          But why not just copy from what ever is on screen ?
          Do you also need image first?

          R 1 Reply Last reply
          0
          • mrjjM mrjj

            @robotsandi
            well i dont know for sure.
            I think you have to use a
            http://doc.qt.io/qt-5/qcameraimagecapture.html#details
            to get an image.
            But why not just copy from what ever is on screen ?
            Do you also need image first?

            R Offline
            R Offline
            robotsandi
            wrote on last edited by
            #12

            @mrjj
            mCamera->setCaptureMode(QCameraImageCapture::CaptureToBuffer);
            how to stope image to use this code

            mrjjM 1 Reply Last reply
            0
            • R robotsandi

              @mrjj
              mCamera->setCaptureMode(QCameraImageCapture::CaptureToBuffer);
              how to stope image to use this code

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #13

              Hi
              I think you just connect image capture to it
              imageCapture = new QCameraImageCapture(camera);
              and hook up to
              http://doc.qt.io/qt-5/qcameraimagecapture.html#imageCaptured
              to get signal and image when its ready

              R 1 Reply Last reply
              0
              • mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #14

                Hi
                maybe this sample is good start ?
                http://doc.qt.io/qt-5/qtmultimedia-multimediawidgets-camera-example.html

                It can grab photo.

                1 Reply Last reply
                1
                • mrjjM mrjj

                  Hi
                  I think you just connect image capture to it
                  imageCapture = new QCameraImageCapture(camera);
                  and hook up to
                  http://doc.qt.io/qt-5/qcameraimagecapture.html#imageCaptured
                  to get signal and image when its ready

                  R Offline
                  R Offline
                  robotsandi
                  wrote on last edited by
                  #15

                  @mrjj
                  Hi
                  I have 4 coordinate (x1, y1, x2, y2)
                  (x1, y1) is for press mouse button or (x2, y2) for release mouse button
                  how can i fine height and weight.
                  please, can you explain me:

                  mrjjM 1 Reply Last reply
                  0
                  • R robotsandi

                    @mrjj
                    Hi
                    I have 4 coordinate (x1, y1, x2, y2)
                    (x1, y1) is for press mouse button or (x2, y2) for release mouse button
                    how can i fine height and weight.
                    please, can you explain me:

                    mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by mrjj
                    #16

                    @robotsandi
                    Well you can just cheat
                    QRect area( x1,y1,x2,y2 ) ;
                    ( or as QPoint if you have that QRect area( p1, p2 ) )
                    then you can just ask it

                    area.width()
                    area.height()

                    else its
                    int w= x2 - x1;
                    int h=y2-y1;

                    R 1 Reply Last reply
                    0
                    • mrjjM mrjj

                      @robotsandi
                      Well you can just cheat
                      QRect area( x1,y1,x2,y2 ) ;
                      ( or as QPoint if you have that QRect area( p1, p2 ) )
                      then you can just ask it

                      area.width()
                      area.height()

                      else its
                      int w= x2 - x1;
                      int h=y2-y1;

                      R Offline
                      R Offline
                      robotsandi
                      wrote on last edited by
                      #17

                      @mrjj
                      How to save image
                      int width = x2-x1;
                      int height = y2-y1;
                      QPixmap original("mCameraImageCapture");
                      //QPixmap cropped = original.copy(rect);
                      QPixmap cropped = original.copy(x1, y1, width, height);

                      R 1 Reply Last reply
                      0
                      • R robotsandi

                        @mrjj
                        How to save image
                        int width = x2-x1;
                        int height = y2-y1;
                        QPixmap original("mCameraImageCapture");
                        //QPixmap cropped = original.copy(rect);
                        QPixmap cropped = original.copy(x1, y1, width, height);

                        R Offline
                        R Offline
                        robotsandi
                        wrote on last edited by
                        #18

                        @robotsandi
                        mCameraImageCapture->setCaptureDestination(QCameraImageCapture::CaptureToBuffer);
                        QImageEncoderSettings imageEncoderSettings;
                        imageEncoderSettings.setCodec("imag/jpeg");
                        imageEncoderSettings.setResolution(1600,1200);
                        mCameraImageCapture->setEncodingSettings(imageEncoderSettings);

                        mrjjM 1 Reply Last reply
                        0
                        • R robotsandi

                          @robotsandi
                          mCameraImageCapture->setCaptureDestination(QCameraImageCapture::CaptureToBuffer);
                          QImageEncoderSettings imageEncoderSettings;
                          imageEncoderSettings.setCodec("imag/jpeg");
                          imageEncoderSettings.setResolution(1600,1200);
                          mCameraImageCapture->setEncodingSettings(imageEncoderSettings);

                          mrjjM Offline
                          mrjjM Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on last edited by
                          #19

                          .setCodec("imag/jpeg");

                          Is that correct?
                          Seems to miss an e

                          R 1 Reply Last reply
                          0
                          • mrjjM mrjj

                            .setCodec("imag/jpeg");

                            Is that correct?
                            Seems to miss an e

                            R Offline
                            R Offline
                            robotsandi
                            wrote on last edited by
                            #20

                            @mrjj
                            yes this is correct

                            R 1 Reply Last reply
                            0
                            • R robotsandi

                              @mrjj
                              yes this is correct

                              R Offline
                              R Offline
                              robotsandi
                              wrote on last edited by
                              #21

                              @robotsandi
                              Is that correct
                              mCameraImageCapture->setCaptureDestination(QCameraImageCapture::CaptureToBuffer);
                              to mCameraImage Capture is store image in buffer??

                              R 1 Reply Last reply
                              0
                              • R robotsandi

                                @robotsandi
                                Is that correct
                                mCameraImageCapture->setCaptureDestination(QCameraImageCapture::CaptureToBuffer);
                                to mCameraImage Capture is store image in buffer??

                                R Offline
                                R Offline
                                robotsandi
                                wrote on last edited by
                                #22

                                @robotsandi
                                QPixmap original("mCameraImageCapture");
                                QPixmap cropped = original.copy(x1, y1, width, height);
                                cropped.save(filename);
                                is pic is not save

                                1 Reply Last reply
                                0
                                • mrjjM Offline
                                  mrjjM Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #23

                                  Yes it think its ok.
                                  But not used in sample so might not be needed.
                                  They just setup
                                  imageCapture = new QCameraImageCapture(camera);
                                  and hook up signal
                                  connect(imageCapture, &QCameraImageCapture::imageCaptured, this, &Camera::processCapturedImage);
                                  and then do

                                  void Camera::processCapturedImage(int requestId, const QImage& img)
                                  {
                                      Q_UNUSED(requestId);
                                      QImage scaledImage = img.scaled(ui->viewfinder->size(),
                                                                      Qt::KeepAspectRatio,
                                                                      Qt::SmoothTransformation);
                                  
                                      ui->lastImagePreviewLabel->setPixmap(QPixmap::fromImage(scaledImage));
                                  
                                      // Display captured image for 4 seconds.
                                      displayCapturedImage();
                                      QTimer::singleShot(4000, this, &Camera::displayViewfinder);
                                  }
                                  
                                  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