78 lines
1.8 KiB
C
78 lines
1.8 KiB
C
|
#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();
|
|||
|
};
|