<?xml version="1.0" encoding="UTF-8"?>
|
<hdevelop file_version="1.1" halcon_version="12.0">
|
<procedure name="M071_CutImage1">
|
<interface>
|
<io>
|
<par name="INPUT_Image" base_type="iconic" dimension="0"/>
|
</io>
|
<oo>
|
<par name="OUTPUT_Images" base_type="iconic" dimension="0"/>
|
</oo>
|
</interface>
|
<body>
|
<c>*阈值修改</c>
|
<l>LowValue := 0</l>
|
<c></c>
|
<c>*第一列参数</c>
|
<l>Col1_begin := 110</l>
|
<l>Col1_end := 200</l>
|
<c>*第二列参数</c>
|
<l>Col2_begin := 250</l>
|
<l>Col2_end := 490</l>
|
<c>*第三列参数</c>
|
<l>Col3_begin := 530</l>
|
<l>Col3_end := 850</l>
|
<c></c>
|
<c>*二值化处理并去噪</c>
|
<l>threshold (INPUT_Image, Region, 3500 + LowValue, 12000)</l>
|
<l>dilation_rectangle1 (Region, RegionDilation, 3, 3)</l>
|
<l>connection (RegionDilation, ConnectedRegions)</l>
|
<l>select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 15000, 6000000)</l>
|
<c></c>
|
<c>*按列分割</c>
|
<l>M071_GetImageObjs1_1 (SelectedRegions, INPUT_Image, ImageObjs1, Col1_begin, Col1_end)</l>
|
<l>M071_GetImageObjs2_1 (SelectedRegions, INPUT_Image, ImageObjs2, Col2_begin, Col2_end)</l>
|
<l>M071_GetImageObjs3_1 (SelectedRegions, INPUT_Image, ImageObjs3, Col3_begin, Col3_end)</l>
|
<c></c>
|
<c>*将所有Objs联合为一个Objs输出给上位机</c>
|
<l>concat_obj (ImageObjs1, ImageObjs2, OUTPUT_Images)</l>
|
<l>concat_obj (OUTPUT_Images, ImageObjs3, OUTPUT_Images)</l>
|
<l>count_obj (OUTPUT_Images, Number)</l>
|
<l>* if (Number < 43)</l>
|
<l>* select_obj (OUTPUT_Images, ObjectSelected, 1)</l>
|
<l>* for Index := 1 to 43 - Number by 1</l>
|
<l>* copy_image (ObjectSelected, DupImage)</l>
|
<l>* concat_obj (OUTPUT_Images, DupImage, OUTPUT_Images)</l>
|
<l>* endfor</l>
|
<l>* endif</l>
|
<l>return ()</l>
|
</body>
|
<docu id="M071_CutImage1">
|
<parameters>
|
<parameter id="INPUT_Image"/>
|
<parameter id="OUTPUT_Images"/>
|
</parameters>
|
</docu>
|
</procedure>
|
</hdevelop>
|