2020-03-11 01:58:06 +00:00
|
|
|
|
#ifndef IMAGE_APPLY_CHANNEL_H
|
|
|
|
|
#define IMAGE_APPLY_CHANNEL_H
|
|
|
|
|
|
2020-12-21 09:34:20 +00:00
|
|
|
|
#include "ImageApply.h"
|
|
|
|
|
|
|
|
|
|
class CImageApplyAdjustColors;
|
|
|
|
|
class CImageApplyChannel : public CImageApply
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
typedef enum channel
|
|
|
|
|
{
|
2020-12-21 09:34:20 +00:00
|
|
|
|
Red, //<2F><>ɫͨ<C9AB><CDA8>
|
|
|
|
|
Green, //<2F><>ɫͨ<C9AB><CDA8>
|
|
|
|
|
Blue, //<2F><>ɫͨ<C9AB><CDA8>
|
|
|
|
|
All, //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HSVɫ<56>ʽṹ<CABD>У<EFBFBD>S<EFBFBD><53><EFBFBD><EFBFBD>80<38><30>ɫ<EFBFBD><C9AB>
|
|
|
|
|
Invalid, //<2F><>Ч
|
|
|
|
|
Except_Red, //<2F><><EFBFBD><EFBFBD>ɫͨ<C9AB><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Except_Green, //<2F><><EFBFBD><EFBFBD>ɫͨ<C9AB><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Except_Blue //<2F><><EFBFBD><EFBFBD>ɫͨ<C9AB><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}Channel;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
CImageApplyChannel();
|
|
|
|
|
|
|
|
|
|
CImageApplyChannel(Channel channel);
|
|
|
|
|
|
|
|
|
|
virtual ~CImageApplyChannel(void);
|
|
|
|
|
|
|
|
|
|
virtual void apply(cv::Mat& pDib,int side);
|
|
|
|
|
|
|
|
|
|
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
void except_channel(const cv::Mat& src, cv::Mat& dst, int channel);
|
|
|
|
|
|
2020-12-21 09:34:20 +00:00
|
|
|
|
void colourless(const cv::Mat& src, cv::Mat& dst, uchar threshold = 80);
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
Channel m_channel;
|
2020-12-21 09:34:20 +00:00
|
|
|
|
CImageApplyAdjustColors* colors;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // !IMAGE_APPLY_CHANNEL_H
|