Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
AccAOI
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e7461058
由
刘韬
编写于
2023-12-14 13:07:24 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
优化基准重设,坐标重新对齐
1 个父辈
f84d1e72
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
31 行增加
和
3 行删除
AOI/AoiProject.cs
AccAOI/FrmAoiSetting.cs
AccAOI/control/ABaseControl.cs
AccAOI/control/AioEyemMarkControl.Designer.cs
AccAOI/control/AioEyemMarkControl.cs
AOI/AoiProject.cs
查看文件 @
e746105
...
...
@@ -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
;
}
...
...
AccAOI/FrmAoiSetting.cs
查看文件 @
e746105
...
...
@@ -508,7 +508,7 @@ namespace AccAOI
aoiControl
=
null
;
}
}
p
rivate
void
ShowPorject
()
p
ublic
void
ShowPorject
()
{
if
(
Project
!=
null
)
{
...
...
AccAOI/control/ABaseControl.cs
查看文件 @
e746105
...
...
@@ -45,6 +45,7 @@ namespace AccAOI.control
/// 区域信息
/// </summary>
protected
GraphicsPath
currPath
=
null
;
protected
GraphicsPath
lastPath
=
null
;
public
AccImageBox
BImageBox
;
public
AoiMethod
AoiInfo
;
...
...
AccAOI/control/AioEyemMarkControl.Designer.cs
查看文件 @
e746105
...
...
@@ -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
);
...
...
AccAOI/control/AioEyemMarkControl.cs
查看文件 @
e746105
...
...
@@ -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!
Cancel
请
注册
或
登录
后发表评论