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 Offline
    R Offline
    robotsandi
    wrote on last edited by
    #5

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