code_device/hgdriver/ImageProcess/ImageApplyFilter.h

65 lines
1.5 KiB
C
Raw Normal View History

2022-07-29 08:41:34 +00:00
/*
* ====================================================
* <EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񻯡<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>񻯡<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ǿģ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>2020/4/21
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ʱ<EFBFBD>2020/4/21 v1.0
2020/7/17 v1.1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>BilateralFilter<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
2020/11/30 v1.2 <EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD>˹ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>GaussianBlur<EFBFBD><EFBFBD>
2021/07/21 v1.2.1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񻯣<EFBFBD>BrightSharp<EFBFBD><EFBFBD>
2021/10/19 v1.2.2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񻯲<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>ţ<EFBFBD>v1.2.2
* ====================================================
*/
#ifndef IMAGE_APPLY_FILTER_H
#define IMAGE_APPLY_FILTER_H
#include "ImageApply.h"
class GIMGPROC_LIBRARY_API CImageApplyFilter : public CImageApply
{
public:
enum FilterMode
{
None,
Sharpen, //<2F><><EFBFBD><EFBFBD>
Sharpen_More, //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AverBlur, //ģ<><C4A3>
AverBlur_More, //<2F><>һ<EFBFBD><D2BB>ģ<EFBFBD><C4A3>
BilateralFilter, //˫<><CBAB><EFBFBD>˲<EFBFBD>--<2D><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><D9B8>ӱ<EFBFBD><D3B1><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>jpg<70><67>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GaussianBlur,
BrightSharp //5 * 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
/*
* sharpentype [in]:<EFBFBD>˾<EFBFBD>ģʽ
*/
CImageApplyFilter(FilterMode type, int kSize = 30);
virtual ~CImageApplyFilter();
virtual void apply(cv::Mat& pDib, int side);
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
private:
void averblur(cv::Mat& src, int kSize);
void sharpen(cv::Mat& src, float kSize);
void brightSharp(cv::Mat& src);
void bilateralFilter(cv::Mat& src, double kernel);
void gaussianBlur(cv::Mat src, int kSize);
private:
int m_type;
float m_kSize;
double m_kernel;
};
#endif // !IMAGE_APPLY_SHARPEN_H