Commit e7461058 刘韬

优化基准重设,坐标重新对齐

1 个父辈 f84d1e72
......@@ -48,7 +48,15 @@ namespace AOI
{
// GC.Collect();
//Image image =ProcessTestImage((Bitmap)scr,"auro");
Image image = Eyemlib.DeepClone(scr);
Image image;
if (scr.Width != standardImage.Width || scr.Height != standardImage.Height) {
//如果图像大小不一样,判定图像未剪裁重新对齐剪裁
image = ProcessTestImage((Bitmap)scr, "");
}else
image = Eyemlib.DeepClone(scr);
//如果设置了校准方法,先校准图片
//var markMethodMap = methodMap.Where(kv => kv.Value is AoiEyemMarkMethod);
//foreach (var item in markMethodMap)
......@@ -233,6 +241,8 @@ namespace AOI
}
else
{
targetimage.Save("\\temp1.bmp");
OrgImage.Save("\\temp2.bmp");
RectangleF rectangleF = markroi.RoiPath.GetBounds();
var result = SURF_MatchTemplate((Bitmap)OrgImage, targetimage, rectangleF, out Bitmap matchBitmap);
//var (BaseImg, EyemBaseImg, result) = Eyemlib.ExtractPCB(orgimage, markroi.RoiPath.GetBounds());
......@@ -240,7 +250,7 @@ namespace AOI
{
//MessageBox.Show(AOIResourceCulture.GetValue("在框选区域内没有找到PCB"));
MessageBox.Show("Not find pcb");
return null;
return CropBitmap(targetimage, rectangleF);
}
return matchBitmap;
}
......
......@@ -508,7 +508,7 @@ namespace AccAOI
aoiControl = null;
}
}
private void ShowPorject()
public void ShowPorject()
{
if (Project != null)
{
......
......@@ -45,6 +45,7 @@ namespace AccAOI.control
/// 区域信息
/// </summary>
protected GraphicsPath currPath = null;
protected GraphicsPath lastPath = null;
public AccImageBox BImageBox;
public AoiMethod AoiInfo;
......
......@@ -174,6 +174,7 @@
this.ClientSize = new System.Drawing.Size(312, 833);
this.Name = "AioEyemMarkControl";
this.TitleName = "Mark设置";
this.Load += new System.EventHandler(this.AioEyemMarkControl_Load);
this.panParam.ResumeLayout(false);
this.panParam.PerformLayout();
this.panResult.ResumeLayout(false);
......
......@@ -85,6 +85,18 @@ namespace AccAOI.control
lblResult.Text = "OK";// + "(" + Math.Round(sameValue*100) + "%)";
this.aoiImage.Image = FrmAoiSetting.BaseImg;
FrmAoiSetting.Project.OrgImage = FrmAoiSetting.OrgBaseImg;
var xoffset = lastPath.PathPoints[0].X - currPath.PathPoints[0].X;
var yoffset = lastPath.PathPoints[0].Y - currPath.PathPoints[0].Y;
foreach (var mm in FrmAoiSetting.Project.methodMap) {
//for (int i = 0; i < mm.Value.RoiPath.PathPoints.Count(); i++)
//{
Matrix translateMatrix = new Matrix();
translateMatrix.Translate(xoffset, yoffset);
mm.Value.RoiPath.Transform(translateMatrix);
//}
}
lastPath = (GraphicsPath)currPath.Clone();
//FrmAoiSetting.ShowPorject();
//lblTime.Text = "times :" + Math.Round(span.TotalSeconds, 1) + "s";
}
}
......@@ -197,5 +209,9 @@ namespace AccAOI.control
UpdateImage();
}
private void AioEyemMarkControl_Load(object sender, EventArgs e)
{
lastPath=(GraphicsPath)currPath.Clone();
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!