#ifndef __IMG_APPLY__
#define __IMG_APPLY__

#pragma once
class CImgApply
{
public:
	CImgApply();
	~CImgApply();

public:
	// 当前显示的图片;
	Mat *m_pCurrentImg;
	// 上一次编辑的图片;
	Mat *m_pLastEditImg;
	// 原始图片;
	Mat *m_pOriginalImg;
	// 历史编辑记录;
	vector<Mat> m_historyEditImg;


public:
	// 加载图片;
	void LoadImage(std::string strImagePath);
	// 编辑图片;
	void EditImage(Mat *pSrcImg);
	// 保存图片;
	void SaveImage(std::string strSavePath, Mat *pSaveImg);

public:
	// 将图片转成灰阶图;
	BOOL EditImg2Gray(Mat *pSrcImg);
	// 全局二值化;
	BOOL EditImg2GlobalThreshold(Mat *pSrcImg);
	// 自适应二值化;
	BOOL EditImg2AdaptiveThreshold(Mat *pSrcImg);
	// OTSU二值化;
	BOOL EditImg2OTSUThreshold(Mat *pSrcImg);
	// 对图片降噪;
	BOOL EditImgDenoise(Mat *pSrcImg);
	// 对图片膨胀;
	BOOL EditImgDilate(Mat *pSrcImg);
	// 对图片腐蚀;
	BOOL EditImgErode(Mat *pSrcImg);
};

#endif