huago-corrcet_tools/HuaGoCorrect/CIS.h

78 lines
1.8 KiB
C
Raw Permalink Normal View History

2020-08-31 08:08:50 +00:00
#pragma once
#include "DefHSStructure.h"
#include "afxwin.h"
#include "gscn_drv.h"
#include <opencv2/opencv.hpp>
#include "Config.h"
// CIS 对话框
struct Result
{
std::vector<std::vector<cv::Point>> contours;
std::vector<int> area;
};
class CIS : public CDialog
{
DECLARE_DYNAMIC(CIS)
public:
CIS(CWnd* pParent = nullptr); // 标准构造函数
virtual ~CIS();
// 对话框数据
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_CIS_DIALOG1 };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
CImage img_front;
CImage img_reverse;
CRect rect_front;
CRect rect_reverse;
CListCtrl m_list;
CComboBox Cis_box;
std::thread c_thread;
volatile bool b_run;
volatile bool b_canget;
volatile bool isduplex;
void Cis_start();
void get_config();
void set_config();
virtual BOOL OnInitDialog();
void SetGscan_drv(GScn_Drv* c_drv);
void detect_start(cv::Mat& sre);
void findContours(const cv::Mat & src, std::vector<std::vector<cv::Point>>& contours, std::vector<cv::Vec4i>& hierarchy, int retr, int method = cv::CHAIN_APPROX_SIMPLE, cv::Point offset = cv::Point(0, 0));
void MatToCImage(Mat & mat, CImage & cimage);
Result lessenColor(const cv::Mat &image, cv::Range range, int areaThre);
void SetEnableGetImage(bool enable) {
b_canget = enable;
}
private:
GScn_Drv* C_drv;
public:
int c_channel;
afx_msg void OnCbnSelchangeCombo1();
int spin_up;
int spin_low;
int spin_area_up;
int spin_area_low;
afx_msg void OnDeltaposSpin3(NMHDR *pNMHDR, LRESULT *pResult);
CEdit edit_up;
afx_msg void OnDeltaposSpin4(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnDeltaposSpin5(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnDeltaposSpin6(NMHDR *pNMHDR, LRESULT *pResult);
CEdit edit_low;
CEdit edit_area_up;
CEdit edit_area_low;
afx_msg void OnPaint();
};