/* * ==================================================== * 功能:色偏校正 * 作者:刘丁维 * 生成时间:2022/12/01 * 最近修改时间:v1.0 2022/12/01 * v1.1 2022/12/01 增加从文件中读取查值表数据接口;增加导出查值表数据接口 * v1.1.1 2023/03/24 增加预设方案 * v1.2 2023/04/04 提高曲线拐点数,增加预设方案CIS_DN_PATCH3 * v1.3 2023/04/17 增加新查值表导入方式。 * v2.0 2023/05/15 重构查值表算法。 * v2.1 2023/10/07 添加饱和度、亮度调节,当前暂不开放参数设置接口。 * 版本号:v2.1 * ==================================================== */ #ifndef IMAGE_APPLY_COLOR_CAST_CORRECT_H #define IMAGE_APPLY_COLOR_CAST_CORRECT_H #include "ImageApply.h" class GIMGPROC_LIBRARY_API CImageApplyColorCastCorrect : public CImageApply { public: CImageApplyColorCastCorrect(int pid); CImageApplyColorCastCorrect(const std::vector& h_x, const std::vector& h_y, const std::vector& l_x, const std::vector& l_y, const std::vector& s_x, const std::vector& s_y); /// /// 用户自定义查值表 /// /// HSV色彩空间H通道曲线变换节点坐标X轴 /// HSV色彩空间H通道曲线变换节点坐标Y轴 CImageApplyColorCastCorrect(const std::vector& points_x, const std::vector& points_y); /// /// 从文件中加载现有查值表数据 /// /// CImageApplyColorCastCorrect(const std::string& fileName); /// /// 针对HSV中H通道的LUT校正数据 /// /// CImageApplyColorCastCorrect(const uchar* table_h); virtual ~CImageApplyColorCastCorrect(void); virtual void apply(cv::Mat& pDib, int side); virtual void apply(std::vector& mats, bool isTwoSide); /// /// 导出当前查值表数据 /// /// void exportTableData(const std::string& fileName); private: void createTable_h(const std::vector& points_x, const std::vector& points_y); void createTable_l(const std::vector& points_x, const std::vector& points_y); void createTable_s(const std::vector& points_x, const std::vector& points_y); private: uchar* m_table_h, *m_table_l, *m_table_s; }; #endif