区域划分算子
partition_dynamic(Region : Partitioned : Distance, Percent : )
partition_rectangle(Region : Partitioned : Width, Height : )
partition_dynamic(Region : Partitioned : Distance, Percent : )
定义:在垂直范围较小的位置对区域进行水平分区。
使用说明:partition_dynamic将输入Region水平划分为具有大约Distance宽度的区域。输入区域在其垂直范围相对较小的位置被分割。
输入区域被分割的位置由以下方法确定:首先,确定初始分割位置,使它们均匀分布在输入区域的水平范围内,即,使得所有结果部分具有相同的宽度. 为此,结果部分的数量 n 是通过将输入区域的宽度除以Distance并将结果四舍五入到最接近的整数值来确定的。现在通过将输入区域的宽度除以 n 来计算初始分割位置之间的距离。请注意,这些初始分割位置之间的距离通常与Distance不同. 然后,在初始分割位置的邻域中确定最终分割位置,使得输入区域在该邻域内具有最小垂直范围的位置处分割。最终分割位置与初始分割位置的最大偏差为Distance×Percent×0.01。
结果区域在Partitioned中返回。请注意,只有当输入区域的宽度大于 距离的 1.5 倍时,才会对输入区域进行分区。
partition_rectangle(Region : Partitioned : Width, Height : )
定义:将区域划分为大小大致相等的矩形。
使用说明:partition_rectangle将输入区域划分为范围为Width×Height的矩形。矩形在Partitioned中返回。该区域总是被分割成大小大致相等的矩形。如果请求的矩形大小无法做到这一点,则调整宽度和高度,以使生成的矩形的大小大致相等。如果区域小于给定大小,则其输出保持不变。只有当区域的大小至少是参数给定的矩形大小的 1.5 倍时,才会进行分区。
案例
gen_rectangle1 (ROI_0, 120, 120, 220, 220) //图1
partition_rectangle (ROI_0, PartitionedRectangle, 10, 10) //图2
partition_dynamic (ROI_0, PartitionedDynamic, 10, 10) //图3