mean_image (ParticleRed, Mean, 31, 31)
dyn_threshold (ParticleRed, Mean, Small, 3, ’light’)
这种方式有两种优势:第一,大颗粒的模型可以被用来提取小的颗粒。这增加了分割的质量;第二,分割的进程被加速,因为分割的第二部分工作建立在部分图像之上。图5.6的右边图像显示了分割结果。
可惜,图像仍然还有噪音。为了去掉它们,你要么使用以前说过的使用面积来去除,要么使用opening操作符,我们推荐使用第二种方法,因为它能平滑图像的边界。 opening_circle (Small, SmallClean, 2.5)
这里opening操作符使用循环结构,这个操作符所保存的区域最小是一个直径为2.5的区域。更小的区域杯清除了。
图5.7左边的图显示了带有噪音的分割结果。右边的显示的是最终的结果。
最终,我们将要展示怎样使用直接鼠标来选择区域的例子。在这里,有一个循环检测一直在执行,直到你按下鼠标的左键或者右键,操作符get mbutton 返回你按下的键以及你按键的位置。这些信息被用来选择对象在接下来的相应得程序部分。
图5.7 噪音去除分割(左)和最终结果( 右)
dev_clear_window (WindowID)
connection (SmallClean, SmallSingle) Button := 1
dev_set_color (’red’) while (Button = 1)