主要应用于点胶机,贴片机等,利用连个MARK点确定轮廓的运动轨迹
1、读取一张标准的照片,先找出产品上两个MARK点的坐标(Row1,Column1)(Row2,Column2),然后再求出两个MARK点之间的中心坐标。
RowMid := (Row1 + Row2)/2,
ColumnMid := (Column1+Column2)/2
2、也可以通过算子Read_contour_xld_dxf读取DXF文件,得到两个MARK点坐标信息和MARK点中间的运动轨迹轮廓,也可以利用一张标准的图片通过图像处理得到Mark点坐标和MARK点中间的轨迹轮廓,通过算子write_contour_xld_dxf (UnionContours, 'contoursL.dxf')保存轮廓信息。
3、相机抓取一张实际产品图片,得到图片中的两个MARK点的坐标(Rowx,Columnx)(Rows,Columns),和两个MARK点之间的中心坐标,读取保存的CAD轮廓文件
RowMids = (Rowx+Rows)/2
ColumnMids=(Columnx+Columns)/2
4、通过 angle_ll (Row1, Column1, Row2, Column2, Rowx, Columnx, Rows, Columns, Angle)算出实际产品中运动轨迹与标准运动轨迹的偏转角度
5、通过仿射变换将标准轨迹轮廓移动到实际运动轨迹轮廓位置
vector_angle_to_rigid (RowMid, ColumnMid, 0, RowTagMiddles, ColumnTagMiddles, Angle, HomMat2D)
affine_trans_contour_xld (Contours1, ContoursAffinTrans, HomMat2D)