45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
/*
|
||
* ====================================================
|
||
|
||
* 功能:防渗透。
|
||
* 作者:刘丁维
|
||
* 生成时间:2020/4/21
|
||
* 最近修改时间:v1.0 2020/04/21
|
||
* v1.1 2022/05/04 重构算法,采用提高对比度实现防渗透。
|
||
* v2.0 2023/08/12 筹够算法,采用双边滤波实现防渗透。
|
||
* v2.1 2023/10/20 修复原图不能同时作为目标图的BUG。
|
||
* 版本号:v2.1
|
||
|
||
* ====================================================
|
||
*/
|
||
|
||
#ifndef IMAGE_APPLY_REFUSE_INFLOW_H
|
||
#define IMAGE_APPLY_REFUSE_INFLOW_H
|
||
|
||
#include "ImageApply.h"
|
||
|
||
class GIMGPROC_LIBRARY_API CImageApplyRefuseInflow : public CImageApply
|
||
{
|
||
public:
|
||
|
||
/// <summary>
|
||
/// 构造函数
|
||
/// </summary>
|
||
/// <param name="d">邻域的直径。取值范围[0, +∞)</param>
|
||
/// <param name="sigmaColor">颜色空间滤波器的标准差。取值范围[0, +∞)</param>
|
||
/// <param name="sigmaSpace">空域滤波器的标准差。取值范围[0, +∞)。注意当d为0时,该参数才生效</param>
|
||
CImageApplyRefuseInflow(int d, int sigmaColor, int sigmaSpace);
|
||
|
||
virtual ~CImageApplyRefuseInflow();
|
||
|
||
virtual void apply(cv::Mat& pDib, int side);
|
||
|
||
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
|
||
|
||
private:
|
||
int m_d;
|
||
int m_sigmaColor;
|
||
int m_sigmaSpace;
|
||
};
|
||
#endif // !IMAGE_APPLY_REFUSE_INFLOW_H
|