Commit e7461058 刘韬

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

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