自定义洗涤生产线检测视频监控软件设计毕业设计代码

视频监控软件  时间:2021-04-14  阅读:()

//CGViewSystemDlg.cpp: implementation file

//

#include"stdafx.h"

#include"CGViewSystem.h"include”CGViewSystcmDlg.h”inc lude“ViewDl g.h"

#include"mmsystem.h" //VFW,多媒体管理模块

#pragma c omment(l ib,"winmm」 ib")

#include<lo cale.h>in c lude”C GVidEx.h"include“C GVideo.h”in c lu d e“C GD e f.h”

#include"FuncApi.h"

#in clud e"cvc am.h"

#include<cv.h>

#include<cxcore.h>

#include<highgui.h>

#ifdef.DEBUG

#define new DEBUG_NEW

#unde fTH IS_F ILE

static char THIS_F 1 LEU=_FILE_;

#endif#define WM_ADDTRAYICON WM_US ER+101 〃自定义消息(WM_ADDTRAYIC ON为自定义消息的标识也是一个常量)

#define m_dwPages 700〃静态内存分配700

/////////////////////////////////////////////////////////////////////////////

//CAboutDlg dialog used for App About class CAboutDlg:public CDialog{public:

CAboutDlgO;

//Dialog Data

//{{AFX_DATA(CAb outDlg)enum{ IDD=IDD_AB OUTB OX};

//} }AFX_DATA

//ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAb outDl g)protected:virtual void DoDataExchange(CDataExchange*pDX); //DDX/DDV support//}}AFX_V1 RTUAL//Implementationprotected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DE CLARE_ME S S AGE_MAP()

} 

CAboutDlg: :CAboutDlg():CDialog(CAboutDlg: :IDD)

{

//{{AFX_DATAJNIT(CAb outDl g)

//}}AFX_DATA_INIT

}vo id CAb outDlg: :Do DataExchange(CDataExchange*pDX)

{

CDialog: :DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDl g)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

//{{AFX_M S G_MAP(CAb outDlg)

//No message handlers

//}}AFX_M S G_MAP

END_ME S SAGE_MAP()lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

//CCGViewSystemDIg dialog

RECT rectList[MAX_VIDEO_S OURCE+1];

COLORREF gBackgroundColor=RGB(1(), 10, 10);int m_nCardTotal=0;extern int WinHeight;extern int WinWidth;

CvHaarClassifierCascade^cascade 1=(CvHaarClassifierCascade*)cvLoad(nC:\\Program

Files\\OpenCV\\data\\haarcascades\\haarcascade_fullbody.xml");

CvHaarClassifierCascade*cascade2=(CvHaarClassifierCascade*)cvLoad(MC:\\Pro gram

Files\\OpenCV\\data\\haarcascades\\haarcascade_upperbody.xmr');

CvHaarClassifierCascade*cascade3=(CvHaarClassifierCascade*)cvLoad("C:\\Program

Files\\OpenCV\\data\\haarcascades\\haarcascade」 owerbody.xml");CvHaarClassifierCascade*cascade4=(CvHaarClassifierCascade*)cvLoad("C:\\Program

Files\\OpenCV\\data\\haarcascades\\haarcascade_frontalface_alt2.xmr');

CvHaarClassifierCascade*cascade5=(CvHaarClassifierCascade*)cvLoad(

MC:\\Pro gram

Files\\OpenCV\\data\\haarcascades\\haarcascade_profileface.xmr,);

CCGViewSystemDl g: :CCGViewSystemDlg(CWnd*pParent/*二NULL*/)

:CDialog(CCGViewSystemDlg: :IDD,pParent)

{

//{{AFX_DATAJNIT(CCGViewSystemDl g)

//NOTE: the ClassWizard will add member initialization here将Cl ass Wizard添加成员初始化m_strBrightness=_T(””);m_strContrast=_T(“”)m_strHue=_T(”“)m_strS aturation=_T(””)m_bCheck11=FALSE;m_bCheckl2=FALSE;m_bCheckl3=FALSE;m_bCheckl4=FALSE;m_bCheck21=FALSE;m_bCheck22=FALSE;m_bCheck23=FALSE;m_bCheck24=FALSE;m_b Check31=FALSE;m_bCheck32=FALSE;m_bCheck33=FALSE;m_b Check34=FALSE;//}}AFX_DATA」N 1 T

//Note that Loadicon does not require a subsequent Destroylcon in Win32m_hlcon=AfxGetApp()->Lo adIcon(IDR_MAINFRAME);pSize=false;p Full=NULL;pHalf=NULL;m_nlog 1=0;

〃下面是录像参数设置m_p F il e =NULL;m_p s =NULL;m_p sC o mpre s se d=NULL;m_nTimeFrame=0;m_b Start=FALSE;m_b Rec ord=FALS E;m_nLastSelect=0;m_byBrightne ss=0;m_byContrast=0;m_byHue=0;m_bySaturation=0;m_b fireflag 1=FALSE;m_b fireflag2=FALSE;m_nMDeteNum=0;m_nHDeteNum=0;m_nFDeteNum=0;

////////////// 〃线程句柄//////////////////m_hHumanThre ad=NULL;m_hF ireThread=

NULL;

CGSTATUS status;

CGGetCardTotal(&m_nCardTotal);if(m_nCardTotal<=0)

C G_ME S SAGE(C G_NO_CARD_F OUND);for(int i=0; i<m_nCardTotal; i++)

{statu s=B eginC GC ard((i+1),&m_Disp De sc[i].hcg);C G_VERIFY(statu s);m_Disp De sc[i].p MB kMat=NULL;m_Disp De sc[i].p HBkMat=NULL;

m_DispDe sc[il.pFBkMat=NULL;m_DispDesc[i].pBmpInfo =NULL;m_DispDesc[i].rcClientWindow.left=0;m_DispDesc[i].rcClientWindow.top=0;m_DispDesc[i].rcClientWindow.right=0;m_DispDesc[i].rcClientWindow.bottom=0;m_DispDesc[i].areavary=0; //ifij积变化计数器m_DispDesc[i].area 1=0;//第1帧面枳m_Disp De sc fi].area2=0;//第8帧面积m_Disp De sc[i].areavaryrate=O;//面积变化率m_DispDesc[i].areacount=0; 〃每8帧计数器m_DispDesc[i].areacount 1=0; 〃面积变化void CCGViewSystemDlg: :DoDataExchange(CDataExchange*pDX)

CDialog: :DoDataExchange(pDX);

//{{AFX_DATA_MAP(CCGViewSystemDl g)

DDX_Control(pDX, IDC_SYSTIME,m_csSysTime);

DDX_Control(pDX, IDC.SYSINFO,m_csSysInfo);

DDX_Contro l(pDX, IDC_S OURCE,m_cb Source);

DDX_Contro l(pDX, IDC_ADJUS T_SATURATION_SB,m_ctl S aturation SB);

DDX_C ontro l(p DX, IDC_ADJUS T_HUE_S B,m_ctlHue S B);

DDX_Control(pDX, IDC_ADJUST_CONTRAST_SB,m_ctlContrastSB);

DDX_Contro l(pDX, 1 DC_ADJUS T_BRIGHTNE S S_SB,m_ctlBrightnessSB);

DDX_Control(pDX, IDC_SETTING,m_pButton);

DDX_Text(pDX, IDC_ADJUS T_BRIGHTNE S S_TEXT,m_strBrightness);

DDX_Text(pDX, IDC_ADJUS T_CONTRAS T_TEXT,m_strContrast);

DDX_Text(p DX, IDC_ADJUS T_HUE_TEXT,m_strHue);

DDX_Text(p DX, IDC_ADJUS T_SATURAT ION_TEXT,m_strS aturation);

DDX_Check(pDX, IDC_CHECK1_1,m.bCheckll);

DDX_Check(pDX, IDC_CHECK1_2,m_bCheckl2);

DDX_Check(pDX, IDC_CHECK1_3,m_bCheckl3);

DDX_Check(pDX, IDC_CHECK1_4,m_bCheckl4);

DDX_Check(pDX, IDC_CHECK2_1,m_bCheck21);

DDX_Check(pDX, IDC_CHECK2_2,m_bCheck22);

DDX_Check(pDX, IDC_CHECK2_3,m_bCheck23);

DDX_Check(pDX, IDC_CHECK2_4,m_bCheck24);

DDX_Check(pDX, IDC_CHECK3_1,m_bCheck31);

DDX_Check(pDX, IDC_CHECK3_2,m_bCheck32);

DDX_Check(pDX, IDC_CHECK3_3,m_bCheck33);

DDX_Chcck(pDX, IDC_CHECK3_4,m_bCheck34);

//} }AF X_DATA_MAP

BEGIN_MES SAGE_MAP(CCGViewSystemDlg,CDialog)

//{{AFX_MS G_MAP(CCGViewSystemDlg)ON_WM_SYS COMMAND()

ON_WM_PAINT()

ON_BN_CLICKED(IDC_EXIT, OnExit) ON_BN_CL1 CKED(IDC_SETTINQ OnSetting)

ON_WM_H S CROLL()

ON_BN_CLICKE D(IDC_CAP TURE, On C apture)ON_BN_CLICKED(IDC_S TOPCAB On StopCap)

ON_BN_CLICKED(1 DC_S TARTRE C ORD,On Startrecord)

ON_WM_T IM E R()

ON_BN_CLICKED(IDC_VIEW,On View)

ON_BN_CLICKED(IDC_CHE CK 1_2,OnCheckl2)

ON_BN_CLICKED(1DC_CHECK 1_3,On Check 13)

ON_BN_CL1 CKED(1 DC_CHECK1_4,OnCheckl4)

ON_BN_CLICKED(IDC_CHECK2_1,OnCheck21)

ON_BN_CLICKED(IDC_CHECK2_2,OnCheck22)

ON_BN_CLICKED(IDC_CHE CK2_3,OnCheck23)

ON_BN_CLICKED(1 DC_CHECK2_4,OnCheck24)

ON_BN_CLICKED(IDC_CHE CK3_1,OnCheck31)

ON_CBN_SELCHANGE(IDC_S OURCE,On S elchange S ource)

ON_BN_CLICKED(IDC_CHECK1_1,OnCheckl 1)

ON_BN_CLICKED(IDC_CHE CK3_2,OnCheck32)

ON_BN_CLICKED(1 DC_CHECK3_3,OnCheck33)

ON_BN_CLICKED(IDC_CHE CK3_4,OnCheck34)

ON_WM_QUE RYDRAGIC ON()

ON_EN_CHANGE(IDC_VIDE OWIN,On Ch angeVide o win)

〃 } }AFX_M S G_MAP

END_ME S SAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CCGViewSystemDlg message handlers

BOOL CCGViewSystemDlg: :OnInitDialog()

{

CDialog: :OnInitDialog();

//Add"About. . ."menu item to system menu.

//IDM_ABOUTBOX must be in the system command range.

AS SERT((IDM_AB OUTB OX&OxFFFO)==IDM_AB OUTB OX);

AS SERT(IDM_AB OUTB OX<OxFOOO);

CMenu*p SysMenu=GetSysteniMenu(FALSE);if(p SysMenu!=NULL)

{

CString strAboutMenu;strAb outMenu.Lo ad String(ID S_AB OUTB OX);if(!strAb outMenu.IsEmpty())

{p SysMenu->AppendMenu(MF_SEPARATOR);

p SysMenu->App endMenu(MF_STRING, IDM_AB OUTB OX, strAb outMenu);

//Set the icon for this dialog.The framework does this automatically

//when the application's main window is not a dialog

Setlcon(m_hlcon,TRUE); //Set big icon

Setlcon(m_hlcon,FALSE); //Set small icon

//TODO:Add extra initialization herellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

GetWindowRe ct(&p Full);pHalf=pFull;

CRect rect;m_p Button.GetWindo wRe ct(&re ct);pHalf.bottom=rect.bottom+20;

Chan geSize();

III IIIIIII IIIIIIII IIIIIII IIIIIII III IIIII II IIIII II IIIII II IIIII III IIHm_VideoWin.Sub classDlgItem(IDC_VIDEOWIN, this); 〃编辑框子类化

InitParamFromINI();

InitVideo Source();

InitC GC ard();

///////////////////设置Adjust参数//////////////////////m_ctlBrightne ss SB.S et S cro llRange(0,255,TRUE);m_ctlContrast SB.S et S crollRange(0,255,TRUE);m_ctlHue SB,S et S cro llRange(0,255,TRUE);m_ctl S aturationSB.S et S crollRange(0,255,TRUE);m_ctlBrightnessSB.SetScrollPo s(m_byBrightness);m_ctlContrastSB.SetScrollPo s(m_byContrast);m_ctlHueSB.SetScrolIPo s(m_byHue);m_ctl SaturationSB.SetScrollPo s(ni_bySaturation);m_strBrightne ss.Format(,,%d,\m_byBrightness);m_strContrast.Format(n%dn,m_byContrast);m_strHu e.Fo rmat(n%d,\m_b yHu e);m_str S aturation.Fo rmat(H%d,\m_b yS aturation);m_cb Source.SetCurSel(m_nLastSelect);

Up dateData(FALSE);lllllllllllllllllllllllllllllllllllllllllllllllllllllllllfor(int i=0; i<m_nCardTotal; i++)m_DispDesc[i].pBmpInfo (BITMAP INFO

l

CGS etVideo Standard(m_DispDescfil.hcg,m_Video Standard);

CGSetVideo Source(m_DispDesc[i].hcg,m_Video Source);

CGS etVideo F ormat(m_DispDe sc[i] .hcg,m_Video Format);

CGSetScanMode(m_DispDesc[i].hcg,m_VideoScan);

CGS etVideo F ormat(m_DispDe sc[i].hcg,RGB 888);

CGAdjustVideo(m_DispDesc[i].hcg,BRIGHTNE S S,m_byBrightness);

CGAdjustVideo(m_DispDesc[i].hcg,CONTRAST,m_byContrast);

C GAdju stVideo(m_Disp De scl iJ.hcg,HUE,m_byHue);

CGAdjustVideo(m_DispDesc[i].hcg,SATURATION,m_byS aturation);

C GS el InputWindow(m_Disp De sc[i].hcg,0,0,768,576);

CGSelectCryOSC(m_DispDesc[i].hcg,m_CryOsc);

}

}void CCGViewSystemDlg: :InitVideo Source()

{

CGSTATUS status=CG_OK;for(int i=0; i<m_nCardTotal; i++)

{

BOOL hPresent=FALSE;for(intj=0;j<MAX_VIDE O_S OURCE;++j) //按最大视频源数遍历该卡的所有视频源{

IndexToVideoSource(j,&m_Video Source);status=CGSetVideoSource(m_DispDesc[i].hcg,m_Video Source);

Sleep(l);status=CGVideoPresent(m_DispDesc[iJ.hcg,&bPresent);

〃检测源路是否连接视频信号。该接口仅支持CG300,QP300,VT 121型号图像卡if(status==CG_OK)

讦(bPresent)break;else if(status==CG_NOT_SUPPORT_INTERFACE)//如果返回

CG_NOT_SUPPORT_INTERFACE,该卡不支持CGVideoPresent接口break;

}if(!bPresent)

{ 〃如果没有找到视频源则设置默认源路为0

IndexToVideoSource(0,&m_Video Source);status=CGSetVideoSource(m_DispDesc[i].hcg,m_Video Source);void CCGViewSystemDlg: :OnSysCommand(UINT nID,LPARAM IParam) {if((nlD&OxFFFO)==IDM.AB OUTB OX)

{

CloudCone:$14/年KVM-512MB/10GB/3TB/洛杉矶机房

CloudCone发布了2021年的闪售活动,提供了几款年付VPS套餐,基于KVM架构,采用Intel® Xeon® Silver 4214 or Xeon® E5s CPU及SSD硬盘组RAID10,最低每年14.02美元起,支持PayPal或者支付宝付款。这是一家成立于2017年的国外VPS主机商,提供VPS和独立服务器租用,数据中心为美国洛杉矶MC机房。下面列出几款年付套餐配置信息。CPU:...

星梦云-100G高防4H4G21M月付仅99元,成都/雅安/德阳

商家介绍:星梦云怎么样,星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器,。活动优惠促销:1、成都电信夏日激情大宽带活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路2vCPU2G40G+60G21...

月神科技 国内上新成都高防 全场八折促销续费同价!

月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、成都电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。本次带来的是全场八折促销,续费同价。并且上新了国内成都高防服务器,单机100G集群1.2T真实防御,上层屏蔽UDP,可定制CC策略。非常适合网站用户。官方网站:https://www.ysi...

视频监控软件为你推荐
操作httpsns平台sns是什么平台cuteftpCuteFTP Pro如何使用?360邮箱邮箱地址指的是什么?我爱e书网侯龙涛小说那里有下载的厦门三五互联科技股份有限公司厦门三五互联做销售怎么样?dezender如何将shopex和phpwind两个伪静态规则写在一起无忧团购网什么叫团购呢上传软件有哪些可以下载软件的软件。无法访问你当前无法访问该文件夹,这是怎么回事
搬瓦工官网 免费个人博客 免费smtp服务器 河南服务器 免费个人空间 河南m值兑换 爱奇艺vip免费试用7天 杭州电信宽带优惠 江苏徐州移动 cdn服务 网络速度 新疆服务器 phpinfo 木马检测 泥瓦工 冰盾ddos防火墙 监控主机 报警主机 vpn服务器架设 免费论坛空间 更多