2020-12-17 09:02:33 +00:00
|
|
|
|
/*
|
|
|
|
|
* ====================================================
|
|
|
|
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>ɫ<EFBFBD><EFBFBD>ʶ<EFBFBD>𣬽<EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ᡰ<EFBFBD>Ҷȡ<EFBFBD><EFBFBD><EFBFBD>24λͼת<EFBFBD><EFBFBD>Ϊ256ɫ8λͼ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ڰס<EFBFBD>ͼת<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>8λͼ
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣺2020/7/17
|
2022-05-24 12:05:47 +00:00
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣺2021/04/19
|
2020-12-17 09:02:33 +00:00
|
|
|
|
* <EFBFBD>汾<EFBFBD>ţ<EFBFBD>v1.0 2020/7/17
|
|
|
|
|
* v1.1 2020/12/15 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Ҷȣ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* v1.2 2020/12/16 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽӿ<EFBFBD>
|
2022-05-24 12:05:47 +00:00
|
|
|
|
* v1.3 2021/04/19 <EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>ܹ<EFBFBD>ʶ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ɫͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD>ɫ<EFBFBD>ͻҶ<EFBFBD>ͼ<EFBFBD><EFBFBD>
|
|
|
|
|
* v1.4 2021/06/18 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䣬<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>[90, 200]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ[50, 200]<EFBFBD><EFBFBD>
|
2020-12-17 09:02:33 +00:00
|
|
|
|
* ====================================================
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef IMAGE_APPLY_COLOR_RECOGNITION_H
|
|
|
|
|
#define IMAGE_APPLY_COLOR_RECOGNITION_H
|
|
|
|
|
|
|
|
|
|
#include "ImageApply.h"
|
|
|
|
|
|
2022-05-24 12:05:47 +00:00
|
|
|
|
class CImageApplyColorRecognition : public CImageApply
|
2020-12-17 09:02:33 +00:00
|
|
|
|
{
|
2022-05-24 12:05:47 +00:00
|
|
|
|
public:
|
2020-12-17 09:02:33 +00:00
|
|
|
|
|
|
|
|
|
//ɫ<><C9AB>ʶ<EFBFBD><CAB6>ģʽ
|
|
|
|
|
enum ColorRecognitionMode
|
|
|
|
|
{
|
|
|
|
|
AllColor, //ȫɫģʽ ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB>Dz<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>Ҷȡ<D2B6><C8A1>ڰ<EFBFBD>
|
|
|
|
|
Color_Gray, //<2F><>ɫ<EFBFBD>Ҷ<EFBFBD>ģʽ ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>Dz<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>Ҷ<DFBB>
|
|
|
|
|
Color_Mono, //<2F><>ɫ<EFBFBD>ڰ<EFBFBD>ģʽ ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>Dz<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>ߺڰ<DFBA>
|
|
|
|
|
Gray_Mono //<2F>ҶȺڰ<C8BA>ģʽ ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ǻҶȻ<D2B6><C8BB>ߺڰ<DFBA>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//ɫ<><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
enum ColorType
|
|
|
|
|
{
|
|
|
|
|
Color, //<2F><>ɫ
|
|
|
|
|
Gray, //<2F>Ҷ<EFBFBD>
|
|
|
|
|
Mono //<2F>ڰ<EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
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>
|
|
|
|
|
/// <20><>ȡͼƬɫ<C6AC><C9AB><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1><EFBFBD><EFBFBD><EFBFBD>void apply(cv::Mat&, int)<29>ӿ<EFBFBD>ʹ<EFBFBD><CAB9>
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>ɫ<><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
|
|
|
|
|
ColorType getResult();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ȡͼƬɫ<C6AC><C9AB><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1><EFBFBD><EFBFBD><EFBFBD>void apply(std::vector<cv::Mat>&, int)<29>ӿ<EFBFBD>ʹ<EFBFBD><CAB9>
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>ɫ<><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
|
|
|
|
|
std::vector<ColorType> getResults();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
ColorType m_result;
|
|
|
|
|
std::vector<ColorType> m_results;
|
|
|
|
|
ColorRecognitionMode m_mode;
|
|
|
|
|
};
|
|
|
|
|
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#endif // !IMAGE_APPLY_CONCATENATION_H
|