我正在使用计时器从相机捕捉图像。 我正在对此捕获图像进行一些处理,并检测此图像上的一个点并将该点传递给机器人。在通过这一点之前,我必须等待一些可变时间。目前我使用Thread.sleep(waitingTime)。但是这会让我的UI在一段时间内没有响应。如何延迟我的代码呢?
private void timer1_Tick(object sender, EventArgs e)
{
Image<Bgr, Byte> imSource = cap.RetrieveBgrFrame();
//some processing here
//--------------------
//--------------------
Thread.Sleep(waitingTime);
sendToRobot(data);
}
答案 0 :(得分:0)
也许尝试任务。延迟([delayperiod]);
答案 1 :(得分:0)
试试这个
Task.Factory.StartNew(() =>
{
Thread.Sleep(waitingTime);
sendToRobot(data);
});
只要sendToRobot使用正确的线程仔细更新UI,这应该可以正常工作。