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 8.2k 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.
  • 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