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.9k 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

    Hi
    QRect rect(10, 20, 30, 40);
    QPixmap original('image.png');
    QPixmap cropped = original.copy(rect);
    the following code is working on image how i can put video in place of image

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

    @robotsandi
    Is it from a camera?

    1 Reply Last reply
    0
    • R Offline
      R Offline
      robotsandi
      wrote on last edited by
      #7

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

      mrjjM 1 Reply Last reply
      0
      • 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