CImgApply.h 888 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef __IMG_APPLY__
  2. #define __IMG_APPLY__
  3. #pragma once
  4. class CImgApply
  5. {
  6. public:
  7. CImgApply();
  8. ~CImgApply();
  9. public:
  10. // 当前显示的图片;
  11. Mat *m_pCurrentImg;
  12. // 上一次编辑的图片;
  13. Mat *m_pLastEditImg;
  14. // 原始图片;
  15. Mat *m_pOriginalImg;
  16. // 历史编辑记录;
  17. vector<Mat> m_historyEditImg;
  18. public:
  19. // 加载图片;
  20. void LoadImage(std::string strImagePath);
  21. // 编辑图片;
  22. void EditImage(Mat *pSrcImg);
  23. // 保存图片;
  24. void SaveImage(std::string strSavePath, Mat *pSaveImg);
  25. public:
  26. // 将图片转成灰阶图;
  27. BOOL EditImg2Gray(Mat *pSrcImg);
  28. // 全局二值化;
  29. BOOL EditImg2GlobalThreshold(Mat *pSrcImg);
  30. // 自适应二值化;
  31. BOOL EditImg2AdaptiveThreshold(Mat *pSrcImg);
  32. // OTSU二值化;
  33. BOOL EditImg2OTSUThreshold(Mat *pSrcImg);
  34. // 对图片降噪;
  35. BOOL EditImgDenoise(Mat *pSrcImg);
  36. // 对图片膨胀;
  37. BOOL EditImgDilate(Mat *pSrcImg);
  38. // 对图片腐蚀;
  39. BOOL EditImgErode(Mat *pSrcImg);
  40. };
  41. #endif