线扫相机取图如果用时间来同步运动轴和相机拍照一般会存在取图图片成像移位不固定的现象。如图所示:
取图代码如下:
Task.Factory.StartNew(() =>
{
线扫相机.ACQUIREiMAGE();
});
WaitTimeDelay(800);//马达运行需要各种初始操作,需要等待时间同步
轴马达启动运行();
为了改进取图效果,用轴位置同步运动轴和相机拍照,消除成像物体位移现象:
取图代码如下:
AutoResetEvent asv = new AutoResetEvent(false);
Task.Factory.StartNew(() =>
{
asv.WaitOne();
线扫相机.ACQUIREiMAGE();
});
Task.Factory.StartNew(() =>
{
bool fl = true;
while(fl)
{
double axdl = 轴马达.GetAxisPos();//查询轴马达的位置
if (axdl>=37)//用位置信息同步拍照
{
asv.Set();
fl = false;
}
}
});
WaitTimeDelay(50);
轴马达启动运行();