领胜LDS 键盘AOI检测项目
patrick.xu
2022-02-24 3322022068ab818912d6f5d9e5eb31f51cc639c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8"?>
<hdevelop file_version="1.1" halcon_version="12.0">
<procedure name="M071_GetImageObjs">
<interface>
<io>
<par name="SelectedRegions" base_type="iconic" dimension="0"/>
<par name="Image" base_type="iconic" dimension="0"/>
</io>
<oo>
<par name="ImageObjs" base_type="iconic" dimension="0"/>
</oo>
<ic>
<par name="Col_begin" base_type="ctrl" dimension="0"/>
<par name="Col_end" base_type="ctrl" dimension="0"/>
</ic>
</interface>
<body>
<c>*选择一列键盘</c>
<l>select_shape (SelectedRegions, SelectedRegions_Col, 'column1', 'and', Col_begin, Col_end)</l>
<l>count_obj (SelectedRegions_Col, Number)</l>
<c></c>
<c>*创建空对象</c>
<l>gen_empty_obj (RegionObjs)</l>
<l>gen_empty_obj (ImageObjs)</l>
<c></c>
<c>*遍历该列键盘的每一个键,将所有键的region放入一个Objs</c>
<l>for Index := 1 to Number by 1</l>
<l>    select_obj (SelectedRegions_Col, ObjectSelected, Index)</l>
<l>    smallest_rectangle2 (ObjectSelected, Row, Column, Phi, Length1, Length2)</l>
<c>    *将备选区域外扩</c>
<l>    Length1 := Length1 + 40</l>
<l>    Length2 := Length2 + 40</l>
<l>    gen_rectangle2 (RegionObj, Row, Column, Phi, Length1, Length2)</l>
<c>    *把所有键的图片放入一个Objs内</c>
<l>    concat_obj (RegionObjs, RegionObj, RegionObjs)</l>
<l>    dev_clear_window ()</l>
<l>    dev_display (Image)</l>
<l>    dev_display (RegionObj)</l>
<l>endfor</l>
<c>*对region进行排序</c>
<l>sort_region (RegionObjs, RegionObjs, 'first_point', 'true', 'column')</l>
<l>sort_region (RegionObjs, RegionObjs, 'first_point', 'true', 'row')</l>
<c>*将region转为image</c>
<l>for Index := 1 to Number by 1</l>
<l>    select_obj (RegionObjs, Obj, Index)</l>
<l>    reduce_domain (Image, Obj, ImageReduced)</l>
<l>    crop_domain (ImageReduced, ImagePart)</l>
<l>    concat_obj (ImageObjs, ImagePart, ImageObjs)</l>
<l>endfor</l>
<c></c>
<c></c>
<l>return ()</l>
</body>
<docu id="M071_GetImageObjs">
<parameters>
<parameter id="Col_begin"/>
<parameter id="Col_end"/>
<parameter id="Image"/>
<parameter id="ImageObjs"/>
<parameter id="SelectedRegions"/>
</parameters>
</docu>
</procedure>
</hdevelop>