<?xml version="1.0" encoding="UTF-8"?>
|
<hdevelop file_version="1.1" halcon_version="12.0">
|
<procedure name="FilterValue">
|
<interface>
|
<io>
|
<par name="ROI_calc" base_type="iconic" dimension="0"/>
|
<par name="ImagePart" base_type="iconic" dimension="0"/>
|
</io>
|
<ic>
|
<par name="Low" base_type="ctrl" dimension="0"/>
|
<par name="High" base_type="ctrl" dimension="0"/>
|
</ic>
|
<oc>
|
<par name="result" base_type="ctrl" dimension="0"/>
|
</oc>
|
</interface>
|
<body>
|
<c>*滤值函数</c>
|
<l>if (Low + High > 100)</l>
|
<l> throw ('Filt is illegal')</l>
|
<l> return ()</l>
|
<l>endif</l>
|
<c></c>
|
<l>if (Low > 50)</l>
|
<l> min_max_gray (ROI_calc, ImagePart, 100 - Low, Min, LowGray, Range)</l>
|
<l> min_max_gray (ROI_calc, ImagePart, High, Min, HighGray, Range)</l>
|
<l>elseif (High > 50)</l>
|
<l> min_max_gray (ROI_calc, ImagePart, Low, LowGray, Max, Range)</l>
|
<l> min_max_gray (ROI_calc, ImagePart, 100 - High, HighGray, Max, Range)</l>
|
<l>else</l>
|
<l> min_max_gray (ROI_calc, ImagePart, Low, LowGray, Max, Range)</l>
|
<l> min_max_gray (ROI_calc, ImagePart, High, Min, HighGray, Range)</l>
|
<l>endif</l>
|
<c></c>
|
<l>reduce_domain (ImagePart, ROI_calc, ImageReduced) </l>
|
<l>threshold (ImageReduced, Region, LowGray, HighGray)</l>
|
<l>min_max_gray (Region, ImageReduced, 50, result, Max, Range)</l>
|
<c></c>
|
<l>return ()</l>
|
<c></c>
|
</body>
|
<docu id="FilterValue">
|
<parameters>
|
<parameter id="High"/>
|
<parameter id="ImagePart"/>
|
<parameter id="Low"/>
|
<parameter id="ROI_calc"/>
|
<parameter id="result"/>
|
</parameters>
|
</docu>
|
</procedure>
|
</hdevelop>
|