qt-correction-tool/imageprocess/ImageApplyChannel.h

65 lines
1.6 KiB
C
Raw Normal View History

2022-06-28 01:24:29 +00:00
/*
* ====================================================
* BGR图像中的单个通道
*
* 2020/4/21
* v1.0 2020/4/21
v1.1 2020/6/11
v1.2 2020/7/21 绿
* v1.2
* ====================================================
*/
#ifndef IMAGE_APPLY_CHANNEL_H
#define IMAGE_APPLY_CHANNEL_H
#include "ImageApply.h"
class CImageApplyAdjustColors;
class CImageApplyChannel : public CImageApply
{
public:
typedef enum channel
{
Red, //红色通道
Green, //绿色通道
Blue, //蓝色通道
Invalid, //无效
All, //去除所有HSV色彩结构中S大于80的色彩
Except_Red, //绿蓝色通道混合
Except_Green, //红蓝色通道混合
Except_Blue //红绿色通道混合
}Channel;
public:
CImageApplyChannel();
/*
* channel [in]:
* */
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);
void colourless(const cv::Mat& src, cv::Mat& dst, uchar threshold = 80);
private:
Channel m_channel;
CImageApplyAdjustColors* colors;
};
#endif // !IMAGE_APPLY_CHANNEL_H