Emgu CV 简介
众所周知,Emgu CV是.NET平台下对OpenCV图像处理库的封装,也就是.NET版的OpenCV。开发者可以很方便的通过C#,VB等语言调用OpenCV函数来实现相应的图像处理功能。
手势识别
在计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题。手势识别可以来自人的身体各部位的运动,但一般是指脸部和手的运动。
腾讯有一个小工具,叫“QQ手势达人forPPT”,可以通过手势运动来控制PPT的放映,本文章亦是通过Emgu CV实现类似效果。
PPT控制类
控制的两个核心,一个是手势的检测,另一个就是如何使用C#控制PPT的播放、停止、上一页、下一页等操作。下面这个类即实现通过C#来控制PPT的加载,播放控制等。
1:// ***********************************************************************
2:// Assembly : HandTrackerTestWindow
3:// Author : pengdian
4:// Created : 08-29-2014
5://
6:// Last Modified By : pengdian
7:// Last Modified On : 08-29-2014
8:// ***********************************************************************
9://
10:// Copyright (c) . All rights reserved.
11://
12:// PPT操作
13:// ***********************************************************************
14:using System;
15:using System.IO;
16:
17:///
18:/// The HandTrackerTestWindow namespace.
19:///
20:namespace HandTrackerTestWindow
21:{
22: ///
23: /// PPT操作类.
24: ///
25: public class PowerPointOperate
26: {
27: ///
28: /// The object application
29: ///
30: private static Microsoft.Office.Interop.PowerPoint.Application objApp = null;
31:
32: ///
33: /// The object pres
34: ///
35: private static Microsoft.Office.Interop.PowerPoint.Presentation objPres = null;
36:
37: ///
38: /// The object ss ws
39: ///
40: private Microsoft.Office.Interop.PowerPoint.SlideShowWindows objSSWs;
41:
42: ///
43: /// The object SST
44: ///
45: private Microsoft.Office.Interop.PowerPoint.SlideShowTransition objSST;
46:
47: ///
48: /// The object SSS
49: ///
50: private static Microsoft.Office.Interop.PowerPoint.SlideShowSettings objSSS;
51:
52: ///
53: /// The object SLD RNG
54: ///
55: private Microsoft.Office.Interop.PowerPoint.SlideRange objSldRng;
56:
57: public bool IsStart
58: {
59: get
60: {
61: if (objPres == null || objPres.SlideShowWindow == null || objPres.SlideShowWindow.View == null)
62: {
63: return false;
64: }
65: return objPres.SlideShowWindow.View.State == Microsoft.Office.Interop.PowerPoint.PpSlideShowState.ppSlideShowRunning ? true : false;
66: }
67: }
68:
69: /// <