With dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold, contours of an object can be extracted,
where the objects' size (diameter) is determined by the mask size of
the lowpass filter and the amplitude of the objects' edges:
The larger the mask size is chosen, the larger the found regions
become. As a rule of thumb, the mask size should be about twice the
diameter of the objects to be extracted. It is important not to set
the parameter OffsetOffsetOffsetOffsetoffsetoffset to zero because in this case too
many small regions will be found (noise). Values between 5 and 40
are a useful choice. The larger OffsetOffsetOffsetOffsetoffsetoffset is chosen, the
smaller the extracted regions become.
If OffsetOffsetOffsetOffsetoffsetoffset is chosen from -1 to 1
usually a very noisy region is generated, requiring large storage.
If OffsetOffsetOffsetOffsetoffsetoffset is chosen too large (> 60, say) it may happen
that no points fulfill the threshold condition (i.e., an empty
region is returned). If OffsetOffsetOffsetOffsetoffsetoffset is chosen too small (<
-60, say) it may happen that all points fulfill the threshold
condition (i.e., a full region is returned).
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
List of values: 'dark'"dark""dark""dark""dark""dark", 'equal'"equal""equal""equal""equal""equal", 'light'"light""light""light""light""light", 'not_equal'"not_equal""not_equal""not_equal""not_equal""not_equal"
Example (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Example (C)
/* Looking for regions with the diameter D */
mean_image(Image,&Mean,D*2+1,D*2+1);
dyn_threshold(Image,Mean,&Seg,5.0,"light");
connection(Seg,&Region);
Example (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Example (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Example (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Complexity
Let A be the area of the input region. Then the runtime
complexity is O(A).
Result
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold returns 2 (H_MSG_TRUE) if all parameters are
correct. The behavior with respect to the input images and output
regions can be determined by setting the values of the flags
'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result", and
'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" with set_systemset_systemSetSystemSetSystemSetSystemset_system.
If necessary, an exception is raised.