connection (Blue, BlueConnect)
select_shape (BlueConnect, BlueLarge, ’area’, ’and’, 150, 100000) shape_trans (BlueLarge, Condensators, ’rectangle2’) threshold (HueColored, Red, 10, 19) connection (Red, RedConnect)
select_shape (RedConnect, RedLarge, ’area’, ’and’, 150, 100000) shape_trans (RedLarge, Resistors, ’rectangle2’)
如果你更仔细的观察一下程序,你就会结果有了显著的提高。 其中之一是因为颜色模型,彩色图形的门限在所有的像素间选择一个固定的颜色,选择在颜色浸透部分时独立的。这有可能造成非常亮或者非常暗的像素与电子元件有相同的灰度。,但你只寻找非常强烈的颜色。所以你选择的像素点都是色彩强烈的点,例如具有色才饱和度的像素点。
第二个加强的是对象的形状,因为所有的元件都是矩形的,你可以指定所有相连的元件最小的矩形来加强分割效果。图5.13的左边图是结果元件的标注。
图5.13 电阻和电容(左)和ic元件(右)
第二步我们寻找所有的ic元件。这看起来很容易,因为它相当的大而且暗,但是由于明亮的标记被打印在IC元件的周围会出现一些问题。所以一个简单的门限处理并不是有效的。除此之外你还有联合所有属于一个IC元件的片断,这可以通过检查片断的连接部位。可以使用膨胀来扩展区域直道它们相互交替,但又不能太大以致IC元件都重叠。标记之间的空白一定要比IC元件之间的小。现在你可以分离IC元件从它们的相连的元件中。可惜它们太大以致不能分割。另一个对相连的元件的门限将会探测每个IC元件的暗的像素。最终你可以用闭合的矩形里指定电阻和电容。 threshold (Intensity, Dark, 0, 50)
dilation_rectangle1 (Dark, DarkDilate, 15, 15) connection (DarkDilate, ICLarge)
add_channels (ICLarge, Intensity, ICLargeGray) threshold (ICLargeGray, ICsDark, 0, 50)