使用Emgu CV运行相机

时间:2017-07-13 13:07:47

标签: c# visual-studio emgucv face-detection

我想制作面部识别系统。现在,我正在尝试运行相机,但是我很难进入相机。这是我的代码:

public partial class Camera : Form
{
    private Capture capture;
    private HaarCascade haarCascade;
    Timer timer;

    public Camera()
    {
        InitializeComponent();
    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        capture = new Capture();
        haarCascade = new HaarCascade(@"haarcascade_frontalface_alt_tree.xml");
        timer = new Timer();
        timer.Tick += new EventHandler(timer1_Tick);
        timer.Interval = new TimeSpan(0, 0, 0, 0, 1);
        timer.Start();
    }        
}

timer.Interval = new TimeSpan(0, 0, 0, 0, 1);中存在错误。

这是错误:

  

严重级代码描述项目文件行抑制状态   错误CS0029无法将类型'System.TimeSpan'隐式转换为'int'Attendance_Marking_System c:\ users \ redpranger \ documents \ visual studio 2017 \ Projects \ Attendance_Marking_System \ Attendance_Marking_System \ Camera.cs 34 Active

3 个答案:

答案 0 :(得分:2)

Timer.Interval PropertyDouble类型的属性,而不是Timespan

以下是该属性的定义:

  

获取或设置引发Elapsed事件的间隔(以毫秒为单位)。

要将间隔设置为1秒(1000毫秒),请将其设置为:

timer.Interval = 1000;

或者在你的例子中,1毫秒:

timer.Interval = 1;

答案 1 :(得分:1)

>>> pd.read_csv('bar.csv', parse_dates={'period':['year', 'quarter']})
period       foo
1994 q1      10
1994 q3      20
1995 q1      30
1995 q3      40

或者你可以尝试

timer.Interval = new TimeSpan(0, 0, 0, 0, 1).TotalMilliseconds;

你不需要每隔1ms刷一次相机我不认为你的相机有那么多fps 所以在你的情况下30毫秒会好的 所以试试

timer.Interval = 1; // 1ms

答案 2 :(得分:0)

答案很简单, 你所要做的就是

要将间隔设置为1秒(1000毫秒),请将其设置为:

timer.Interval = 1000;