Skip to content
Snippets Groups Projects
Select Git revision
  • edbf95c3fff458b41b6d4e452fc28d610008d04c
  • master default protected
  • opencv4
  • custom_realsense
  • deproject
  • camera
6 results

camera.h

Blame
  • camera.h 1.23 KiB
    #ifndef CAMERA_H
    #define CAMERA_H
    
    #include <librealsense2/rs.hpp>
    #include <librealsense2/rsutil.h>
    #include <opencv2/opencv.hpp>
    
    class Camera
    {
    private:
        rs2::spatial_filter spatFilter;
        rs2::temporal_filter tempFilter;
        rs2::decimation_filter decFilter;
        rs2::config cfg;
        rs2::pipeline pipe;
        rs2::pipeline_profile profile;
        rs2_intrinsics intrinsics;
        void flipMat(cv::Mat &m);
        void filterDepthFrame(rs2::depth_frame &frameDepth);
    
        cv::Mat matDepth;
        cv::Mat matRGB;
        cv::Rect croppingMask;
    
    public:
        Camera();
        void start();
        void stop();
        // Capture 30 frames to give autoexposure, etc. a chance to settle
        void warmingUp();
        cv::Mat captureFrame();
        cv::Mat getAverageFrame(int numberFrame);
        static cv::Mat coloredFrame(cv::Mat frameDepth);
        cv::Point3f deprojectPixelToPoint(float coord[], float z1);
        cv::Point2i projectPointToPixel(cv::Point3f point3D);
    
        void captureFramesAlign();
        void startAlign();
        cv::Mat getDepthFrameAlign(){ return matDepth; };
        cv::Mat getRGBFrameAlign(){ return matRGB.clone(); };
        void setCroppingMask(cv::Rect mask){ croppingMask = mask; };
        cv::Rect getCroppingMask(){ return croppingMask; };
    
        void printCroppingMask();
    };
    #endif