61 lines
1.6 KiB
C
61 lines
1.6 KiB
C
|
/*
|
|||
|
* ====================================================
|
|||
|
|
|||
|
* <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/8/12 v1.1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>setIntensity<EFBFBD><EFBFBD>setMinArea<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>isNormal<EFBFBD><EFBFBD>ʶλ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>setIntensity<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>[2, 20]<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[1, 100]
|
|||
|
2020/8/25 v1.1.1 ֽ<EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
2020/10/16 v1.2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½ӿڣ<EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ͼƬ<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD>հ<EFBFBD>ҳ
|
|||
|
2020/10/19 v1.2.1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>հ<EFBFBD>ҳ<EFBFBD>ж<EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>BUG
|
|||
|
* <EFBFBD>汾<EFBFBD>ţ<EFBFBD>v1.2.1
|
|||
|
|
|||
|
* ====================================================
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef IMAGE_APPLY_DISCARD_BLANK_H
|
|||
|
#define IMAGE_APPLY_DISCARD_BLANK_H
|
|||
|
|
|||
|
#include "ImageApply.h"
|
|||
|
|
|||
|
class CImageApplyDiscardBlank : public CImageApply
|
|||
|
{
|
|||
|
public:
|
|||
|
CImageApplyDiscardBlank(int blockSize, int devTh);
|
|||
|
|
|||
|
/*
|
|||
|
* isnormal [in]:true<EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>falseΪƱ<EFBFBD>ݸ<EFBFBD>дֽģʽ
|
|||
|
* */
|
|||
|
CImageApplyDiscardBlank(bool isnormaldiscard);
|
|||
|
|
|||
|
CImageApplyDiscardBlank();
|
|||
|
virtual ~CImageApplyDiscardBlank(void);
|
|||
|
|
|||
|
virtual void apply(cv::Mat& pDib,int side);
|
|||
|
|
|||
|
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
|
|||
|
|
|||
|
void setIntensity(int val);
|
|||
|
|
|||
|
void setMinArea(int val) { m_dSize = val; }
|
|||
|
|
|||
|
static bool apply(const cv::Mat& pDib, int blockSize = 200, int devTh = 15);
|
|||
|
|
|||
|
private:
|
|||
|
|
|||
|
static int processRectR(const cv::Mat& image, cv::RotatedRect& rotatedRect, std::vector<cv::Point>& maxContour,
|
|||
|
double scale, double thresh, int blobAreaSize);
|
|||
|
|
|||
|
static bool scalar_LE(const cv::Scalar& val1, const cv::Scalar& val2);
|
|||
|
|
|||
|
static cv::Mat getRoiMat(const cv::Mat& pDib);
|
|||
|
private:
|
|||
|
bool m_res;
|
|||
|
bool m_isNormalDiscard;
|
|||
|
int m_dSize;
|
|||
|
cv::Scalar m_devTh;
|
|||
|
};
|
|||
|
|
|||
|
#endif // !IMAGE_APPLY_DISCARD_BLANK_H
|