code_device/hgdriver/ImageProcess_test/ImageApplyResize.h

70 lines
1.4 KiB
C
Raw Normal View History

2022-07-29 08:41:34 +00:00
/*
* ====================================================
*
*
* 2020/4/21
* 2020/4/21
* v1.0
* ====================================================
*/
#ifndef IMAGE_APPLY_RESIZE_H
#define IMAGE_APPLY_RESIZE_H
#include "ImageApply.h"
class CImageApplyResize : public CImageApply
{
public:
enum class ResizeType
{
RATIO, //比例缩放
DSIZE //尺寸缩放
};
public:
CImageApplyResize();
/*
* type [in]:
* size [in]:type为DSIZE时生效
* fx [in]:type为RATIO时生效
* fy [in]:type为RATIO时生效
*/
CImageApplyResize(ResizeType type, const cv::Size& size, double fx, double fy);
virtual ~CImageApplyResize(void);
virtual void apply(cv::Mat& pDib,int side);
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
double getFX() { return m_fx; }
double getFY() { return m_fy; }
cv::Size getDSize() { return m_dSize; }
ResizeType getType() { return m_type; }
void setFX(double value) { m_fx = value; }
void setFY(double value) { m_fy = value; }
void setDSize(const cv::Size& size) { m_dSize = size; }
void setType(ResizeType type) { m_type = type; }
private:
double m_fx;
double m_fy;
cv::Size m_dSize;
ResizeType m_type;
};
#endif // !IMAGE_APPLY_RESIZE_H