• 大小: 15KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: image  recognize  play  

资源简介

VS2010环境下利用大华网络相机实现对五线谱音符的图像自动识别并播放

资源截图

代码片段和文件信息


// StaffAutoPlayDlg.cpp : 实现文件
//

#include “stdafx.h“
#include “StaffAutoPlay.h“
#include “StaffAutoPlayDlg.h“
#include “afxdialogex.h“
#include “opencv2\imgproc\imgproc.hpp“
#include 
#include 
#include 
#include “ShortMsg.h“
#include “midi.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

using namespace std;
using namespace cv;
// CStaffAutoPlayDlg 对话框
CStaffAutoPlayDlg * pVideoDlg;
CWinThread *pCaptureImageThread*pProcessImageThread;
CvRect QuarterRectEighthRect;
CPoint BeginPt[10]EndPt[10]Bound1BPt[10]Bound1EPt[10]Bound2BPt[10]Bound2EPt[10];
CRect DrawRect;
BOOL gl_bCaptureRun;
HANDLE gl_hEvent;  // 视频采集线程与视频处理线程的同步信号
float Deta[500];
CPoint Pt8[500];
CStaffAutoPlayDlg::CStaffAutoPlayDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CStaffAutoPlayDlg::IDD pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINframe);
nChannelID=0;
m_iThresHold = 0;
m_LowNote=36;
bStart=FALSE;
bRgn=FALSE;
bQuarterTemplate=FALSE;
bEighthTemplate=FALSE;
bClickFlag=FALSE;
bROI=FALSE;
bSnap=FALSE;
bWaitFlag=TRUE;
bTrigger=FALSE;
USB5538DevicePhysID=0;
bCapFlag=TRUE;
bImage_eighth=FALSE;
bImage_quarter=FALSE;
m_bDebug=0;
m_LoginID=0;
}
CStaffAutoPlayDlg::~CStaffAutoPlayDlg()
{
if(m_OutDevice.IsOpen())
{
m_OutDevice.Close();
}
}

void CStaffAutoPlayDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX IDC_SLIDER_GRAYTHRESHOLD m_cSliderThresHold);
DDX_Slider(pDX IDC_SLIDER_GRAYTHRESHOLD m_iThresHold);
DDX_Control(pDX IDC_SLIDER_WHITETHRESHOLD m_cSliderWhiteThresHold);
DDX_Control(pDX IDC_SLIDER_AREATHRESHOLD m_cSliderAreaThresHold);
}

BEGIN_MESSAGE_MAP(CStaffAutoPlayDlg CDialogEx)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(MYWM_NOTIFYICONOnMywmNotifyicon)
ON_BN_CLICKED(IDC_DETECT OnBnClickedDetect)
ON_BN_CLICKED(IDC_SNAP OnBnClickedSnap)
ON_WM_HSCROLL()
ON_WM_LBUTTONDOWN()
ON_BN_CLICKED(IDC_QUARTERTEMPLATE OnBnClickedQuartertemplate)
ON_BN_CLICKED(IDC_EIGHTHTEMPLATE OnBnClickedEighthtemplate)
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_BN_CLICKED(IDC_SELECTROIOnBnClickedSelectroi)
ON_BN_CLICKED(IDC_ROIDISPLAY OnBnClickedRoidisplay)
ON_WM_TIMER()
ON_WM_SIZE()
ON_COMMAND(ID_EXIT &CStaffAutoPlayDlg::OnExit)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_SAVEBMP &CStaffAutoPlayDlg::OnBnClickedSavebmp)
// ON_BN_CLICKED(IDC_BUTTON1 &CStaffAutoPlayDlg::OnBnClickedButton1)
END_MESSAGE_MAP()
// CStaffAutoPlayDlg 消息处理程序
void CALLBACK SnapPicRet(LLONG ILoginID BYTE *pBuf UINT RevLen UINT EncodeType DWORD CmdSerial LDWORD dwUser)
{
CStaffAutoPlayDlg *pThis = (CStaffAutoPlayDlg*)dwUser;
int Count;
do
{
Count=0;
}
while (WaitForSingleobject(gl_hEvent 50) != WAIT_object_0);

TRACE(“Capture\r\n“);

pThis->bCapFlag=TRUE;
pThis->UnCompressJpeg(pBufRevLen);



}
void CStaffAutoPlayDlg::UnCompressJpeg(BYTE *JpgData int JpgLen)
{

JPEG_CORE_PRO

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      59152  2018-02-23 11:03  音符图像识别播放\StaffAutoPlayDlg.cpp

     文件       4279  2018-02-22 11:14  音符图像识别播放\StaffAutoPlayDlg.h

     目录          0  2018-11-27 10:06  音符图像识别播放

----------- ---------  ---------- -----  ----

                63431                    3


评论

共有 条评论