点击上方“LabVIEW虚拟仪器与机器视觉”关注我。
图像标记过程要解决的另一问题是根据连通性判断准则,寻找能快速确定各个独立颗粒的搜索算法。NI Vision将图像标记过程封装在位于LabVIEW“Vision & Motion > Image Processing >Processing”函数选板的“IMAQ Label”VI中,但是NI的相关文档中并未说明该函数具体使用了何种搜索算法。图像标记最为常见的搜索算法如下:
(1)逐行扫描像素,找到第一个非0像素作为种子点,为其设置专门的标记值;
(2) 从种子点开始按照连通性判断准则沿各个方向搜索与其连通的像素,并将其置为与种子点相同的标记值;
(3) 以各个连通的像素点为新的起点,沿各个方向搜索与其连通的未标记像素,并将其置为与起点相同的标记值;不断重复该过程,直到所有分支上的像素都被标记为止。
(4) 重新扫描图像中未被标记的点,将其作为种子点重复步骤(1)到步骤(3),直到所有像素均被标记为止。
虽然上述搜索算法比较直观,但是其效率并不高,因此近几年涌现了大量的快速标记算法。例如,下述基于行程的标记方法就相对快速一些:
(1)从第一行开始扫描图像,把其中连续的非0像素组成的序列组成一个块,为其按递增的顺序设置标记值;
(2)从第二行开始逐行扫描所有行里的块,如果它与前一行中的所有块都没有连通,则给它一个新的标记值;如