Select Git revision
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