接着我们对图像进行预处理,这将打开visionassistant窗口,可对图像进行LUT变换、滤波、分割、形态学变换等多项操作,在本实例中将图像处理为适合寻找物体的二值化图像。然后对处理过的二值化图片进行DetectObjects操作,得到物体数列。SelectImage操作将原图像读入,代替处理过的二值化图像,为下一步检测做准备。SetVariable的操作是将DetectObjects操作中检测到的物体个数存入代表剩余物体数的X。“GOON?”过程中没有图像处理的具体操作,只在InspectionState编辑中有一个判断,在指向end的箭头定出编辑走向end的条件,为剩余物体数X<1,当X≥1时将执行默认箭头,走向“Measure”过程。“Measure”过程中,首先IndexMeasurements读取之前DetectObjects中检测得到的物体数列的的第X个物体。接着,要设置程序可以根据物体的位置、大小等自动建立相应的ROI,即检测区域,由于要进行微球图像直径的检测,因此区域类型选择圆环形。然后就可以在检测区域内进行圆的直径检测了,利用FindCircularEdge操作可以很方便地做到这一点。在直径检测中,程序在检测区域内沿径向生成一系列的检测线,曲线为沿检测线方向上灰度值变化曲线的一次导数曲线,反映了灰度值的变化速率,负数部分对应图像由亮变暗,正数部分对应图像由暗变亮,极值处即变化速率最快处,也就是边缘所在位置。曲线上方的参数设定包括判断边缘的阈值,平滑算子的大小,取样宽度,每条检测线之间的间隔等。由于是根据拟合出的曲线确定边缘位置,因此可以超越像素的限制,实现亚像素等级的超分辨率精确度。
检测程序首先得到每条检测线上的边缘点位置,再根据所有边缘点拟合出圆形边界,计算出直径数值,程序中给出精确到0.01个像素的结果。结果的稳定性还要取决于拍摄环境、光照、相机稳定性等。图像中微球边缘的黑环是由于光线折射造成的,根据我们先前工作,证明其粗细与微球与溶液的折射率比值成一定比例关系。因此,程序中通过分别测量各微球的D与d,调整FindCircularEdge操作中搜寻方向、边缘种类等参数可以搜寻到内径圆和外径圆。在精确测定D与d值后,可自动根据我们先前工作导出的方程式,给出微球的折射率或是其周边介质的折射率。Calculator是界面类似LabVIEW图像化编程工具的一项功能,可以由用户自己选择输入输出量、制定复杂的运算程序等,本实例中为利用文献的方程式计算出微球的折射率。DataLogging可以选择需要记录的数据写入指定的txt或csv文件,以便后续的数据分析统计。最后SetVariable将变量X减1。VBAI应用编写完成后可作为专用的检测软件使用,处理图片时将需要分析的图像放在同一目录下,进入VBAI文件,指定该路径,点击RunInspectioninLoop,就可以自动完成所以图片的分析,并得到记录有数据的txt或csv文件。这样生成的检测程序智能、客观、准确、快速,实现了图像中微球的识别寻位、移动ROI建立、两个直径的测量、折射率计算、数据保存等操作的完全自动化运行。而且整个操作与运算排除了人为操作中的主观性因素,精度亦达到亚像素水平,平均单个微球的测量时间仅需0.20s。为了检验其测定的准确性,在对拍摄系统和环境进行标定和控制之后,选择合适的微球作为检测对象进行多次检测。同时,用以往常用的油浸法对微球折射率作对照测定,测得的折射率与本VBAI生成系统测定结果高度吻合,说明VBAI检测程序的测量准确性可重复性较高。
2应用于细胞检测
2.1背景
细胞是生物医学研究的重要对象之一,通过分析细胞的显微图像我们可以得到很多有用的信息。红细胞是人类血液中存在的主要细胞,一直是研究的热点。正常的红细胞呈双凹圆盘状,而衰老和不健康的红细胞会呈棘形、双凹消失等不规则的形态。通过观察与分析显微图像中红细胞的形态可以评价其健康程度。所以这里以红细胞为例说明如何采用VBAI编写适合于进行细胞图像分析的技术过程。
2.2方法
将红细胞悬浮于缓冲液中,置于显微镜下观察,利用数码CCD摄像头拍摄下细胞的图像。检测程序上需要先寻找到各个细胞,再对每个细胞进行检测,与微球检测的过程类似,程序总体设计上依然可以利用上节中微球的检测程序的设计,但需要根据有关图像处理分析的内容更改具体的图像处理分析操作。在图像预处理操作中需要将原始图像处理为适合物体识别的二值化图像,利用VisionAssistant,先对图像转灰度图像、适当的LUT处理,在分割处理上,由于细胞边缘处明暗对比较大,边缘锐利,因此选用基于移动窗口分割的算法可以较容易地找到边缘。通过实验比较证明,选用Backgroundcorrection分割,可综合局部和全局的灰度变化信息。分割移动窗口大小设置为边长接近细胞边缘宽度2倍的正方形最为合适。分割完成后再对二值图像进行一定的形态学变换操作,将边缘尽量变得闭合并填充孔洞。最后进行DetectObjects操。接着将对细胞形态进行分析。首先根据DetectObjects操作中所检测到的物体列表,对每个细胞进行检测区域的建立,即设置ROI。然后依然使用FindCircularEdge操作,在该操作中调整参数,使得检测线能较准确的发现边缘。该操作完成后,将输出一项名为Deviation的参数,该参数代表了细胞边缘与标准圆的标准偏差。同时该操作还可以得到细胞直径等相关的信息。将Deviation除以直径后可以得到细胞边缘与标准圆的相对标准偏差,由于健康红细胞的图像是近似圆形的,因此Deviation参数可以一定程度上反映红细胞的健康程度。将实验中拍摄到的采用不同保存格式、保存不同天数的红细胞图片归类,用VBAI程序进行分析,结果保存在csv文件中。为较健康的细胞,图像中细胞外轮廓近似圆形,Deviation/R=1.2‰;为发生了一定形变的细胞,Deviation/R=3.2‰为严重变形的棘形细胞,Deviation/R=7.3‰。随着细胞变形程度加重,细胞的相对标准偏差值也随之增加。通过软件分析的优势在于:可以客观而定量地给出每个细胞的变形程度;可以快速自动地分析大量的图片,得到大量的数据,并对数据进行后续的统计处理,具有统计学意义。除此之外,还可以获得细胞的大小信息,通过视野内细胞个数,得到细胞分布密度信息等。