code_app/modules/imgproc/ImageProcess/ImageApplyColorRecognition.h

69 lines
2.3 KiB
C
Raw Normal View History

/*
* ====================================================
* 242568 8
*
* 2020/7/17
* 2021/04/19
* v1.0 2020/7/17
* v1.1 2020/12/15
* v1.2 2020/12/16 访
* v1.3 2021/04/19 1
* v1.4 2021/06/18 [90, 200][50, 200]
* ====================================================
*/
#ifndef IMAGE_APPLY_COLOR_RECOGNITION_H
#define IMAGE_APPLY_COLOR_RECOGNITION_H
#include "ImageApply.h"
class CImageApplyColorRecognition : public CImageApply
{
public:
//色彩识别模式
enum ColorRecognitionMode
{
AllColor, //全色模式 识别结果可能会是彩色、灰度、黑白
Color_Gray, //彩色灰度模式 识别结果只会是彩色或者灰度
Color_Mono, //彩色黑白模式 识别结果只会是彩色或者黑白
Gray_Mono //灰度黑白模式 识别结果只会是灰度或者黑白
};
//色彩类型
enum ColorType
{
Color, //彩色
Gray, //灰度
Mono //黑白
};
public:
CImageApplyColorRecognition(ColorRecognitionMode mode = AllColor);
virtual ~CImageApplyColorRecognition(void);
virtual void apply(cv::Mat& pDib, int side);
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
/// <summary>
/// 获取图片色彩类型。配合void apply(cv::Mat&, int)接口使用
/// </summary>
/// <returns>色彩类型</returns>
ColorType getResult();
/// <summary>
/// 获取图片色彩类型。配合void apply(std::vector<cv::Mat>&, int)接口使用
/// </summary>
/// <returns>色彩类型数组</returns>
std::vector<ColorType> getResults();
private:
ColorType m_result;
std::vector<ColorType> m_results;
ColorRecognitionMode m_mode;
};
#endif // !IMAGE_APPLY_CONCATENATION_H