#pragma once
#include <string>
#include <vector>
#include "robot_std_msgs/Header.h"
#include "robot_sensor_msgs/RegionOfInterest.h"

namespace robot_sensor_msgs
{
struct CameraInfo
{
    robot_std_msgs::Header header;   // thời gian và frame_id

    // Calibration parameters
    uint32_t height = 0;
    uint32_t width = 0;
    std::string distortion_model;

    std::vector<double> D;     // distortion coefficients
    double K[9] = {0.0};       // intrinsic matrix
    double R[9] = {0.0};       // rectification matrix
    double P[12] = {0.0};      // projection matrix

    // Operational parameters
    uint32_t binning_x = 0;
    uint32_t binning_y = 0;
    robot_sensor_msgs::RegionOfInterest roi;
};
} // namespace robot_sensor_msgs

