twain2/hugaotwainds/ImageProcDiscardBlank.h

34 lines
856 B
C++

#pragma once
#include "ImageApply.h"
#include <math.h>
#include "opencv2/opencv.hpp"
#include "opencv/cv.h"
#include "opencv2/core/core.hpp"
using namespace cv;
class CImageProcDiscardBlank :
public CImageApply
{
public:
CImageProcDiscardBlank(bool isnormal=true);
virtual ~CImageProcDiscardBlank(void);
virtual void apply(cv::Mat& pDib,int side);
private:
void setIntensity(int val);
void setMinArea(int val);
int ProcessRectR(Mat & image, RotatedRect & rotatedRect, vector<Point>& maxContour, double scale, double thresh, int blobAreaSize);
bool Scalar_LE(cv::Scalar& val1, cv::Scalar& val2);
void GetContours(const Mat& src, cv::vector<cv::vector<Point>>& contours, cv::vector<Vec4i>& hierarchy, int retr = RETR_CCOMP);
private:
int dSize;
bool m_res;
cv::Scalar devTh;
bool isNormalDiscard;
cv::Mat getRoiMat(cv::Mat& pDib);
};