如果你观察一下图5.11右边图的操作结果,你就会注意圆圈作为有意义的明亮的点。现在一个简单的门限来提取它们是至关重要的。
read_image (Caltab, ’caltab’) gauss_image (Caltab, ImageGauss, 9) gray_inside (ImageGauss, ImageDist) threshold (ImageDist, Bright, 110, 255) connection (Bright, Circles)
elliptic_axis (Circles, Ra, Rb, Phi)
在计算(ellipticaxis)每个圆的椭圆参数之后,你可以计算摄像头的参数。
7设备
这个例子讨论使用不同的分割方法的结合。它的操作对象是具有多个电子元件的图像,它们在外形,大小以及排列上都不相同。图5.12的左边图显示了输入图像。
图5.12带有电子原件的电路板(左)和在HSV空间的相应得灰度值(右)
首先,你要提取电阻与电容。这相当容易,因为彩色图像中它的元件具有不同的颜色。输入图像具有三种颜色通道,包括红,绿和蓝。因为在RGB空间中进行分割是相对困难得的,你需要将图像转化到HSV空间。在这里颜色信息储存在单一的信道。图5.12的右边图显示图像在单一信道的代替物。太小的元件可以通过selectshape来清除。程序显示如下:
read_image (ICs, ’ic’)
decompose3 (ICs, Red, Green, Blue)
trans_f rom_rgb (Red, Green, Blue, Hue, Saturation, Intensity) threshold (Saturation, Colored, 100, 255) reduce_domain (Hue, Colored, HueColored) threshold (HueColored, Blue, 114, 137)