基于图像处理自动对焦的简易显微镜设计与实现
2017-03-02陈德全
陈 健, 陈德全
(1. 福建工程学院 福建省数字化装备重点实验室, 福建 福州 350118;2. 福建工程学院 信息科学与工程学院, 福建 福州 350118)
基于图像处理自动对焦的简易显微镜设计与实现
陈 健1,2, 陈德全2
(1. 福建工程学院 福建省数字化装备重点实验室, 福建 福州 350118;2. 福建工程学院 信息科学与工程学院, 福建 福州 350118)
为进行基于图像处理的自动对焦算法测试,结合基于图像处理自动对焦的显微镜通用结构,设计了一套由Arduino UNO开发板、红外对管、计算机、工业数码显微镜及电机组成的简易显微镜,并结合自行设计的协议格式及对焦深度法实现显微镜的自动对焦过程。该系统具有结构简单的特点,硬件设计适合进行课程设计,软件设计部分涉及到图像采集及基于图像处理的自动对焦部分,适合进行算法设计及课程实验。
显微镜; 自动对焦; 图像处理; Arduino UNO
无论是光学显微镜还是数码显微镜,对样品进行显微观察时,大多采用手动对焦方法,不仅自动化程度低,而且容易产生人为误差。对显微镜进行自动控制,实现自动对焦,不仅可以提高显微镜的自动化程度,提高实验与分析的速度,也可以避免人为操作对成像质量的影响。为此,许多学者提出了具有自动对焦功能的显微镜系统结构,比如苗振魁等[1]为实现病理切片的自动检测研制了一套显微镜图像处理系统,该系统由三目照相生物显微镜、CCD摄像机和带图像处理卡的个人计算机组成;马官营等[2]研制了显微镜自动控制系统作为辅件安装在显微镜上,使得操作简单,更能适用于远距离观测;段瑞玲等[3]则介绍了一种由光学显微镜、CCD、力矩电机和齿轮传动机构等组成的自动调焦系统;易秋实[4],范富明等[5],王文欢等[6]则结合不同的应用与不同的结构完成了基于图像处理自动对焦的显微镜设计。
本文在分析现有具有自动对焦功能的显微镜通用结构基础上,研制出一台具有显微镜基本功能,且采用图像处理完成自动对焦的光学显微镜。本系统具有结构简单的特点,适合学生进行课程设计及毕业设计,也可进行图像采集、算法验证及设计等相关课程实验。
1 简易显微镜设计
1.1 系统硬件设计
对显微镜进行自动对焦操作时,移动的对象可分为载物台及显微镜头两种,本文实现了对显微镜头的移动。虽然不同文献提出的基于图像处理自动对焦的显微镜应用方向各不相同,但系统组成基本相似,都包括电机及控制模块、视频采集模块、图像显示及处理模块3个部分。本文采用的系统组成框图见图1。
图1 系统组成框图
(1) 视频采集模块。视频采集模块是一个具有300倍放大倍数,带有USB接口且可安装于滑台上的工业数码显微镜,实现视频图像的采集,并通过USB接口将视频图像传输给计算机。该工业数码显微镜自带环形光源。
(2) 电机及控制模块。电机及控制模块包括单片机、电机驱动器、电机及限位传感器,实现对电机驱动器的控制,进而控制电机,使滑台在丝杆上移动。此外,单片机还连接由红外对管构成的限位传感器,当滑台接近极限位置时,单片机接收到限位传感器发送而来的信号,并上传至计算机,告知滑台到位信息。单片机控制部分采用Arduino UNO开发板[7],与计算机通过USB相连,并通自行研制的转接板实现与电机驱动器及红外对管的连接。
(3) 图像显示及处理模块。本系统的图像显示及处理模块由计算机构成,主要实现以下几个功能包括:对视频数据的读取、显示、处理,完成对电机的反馈控制;根据读取到的限位信号,控制电机反向移动;在进行自动对焦前,发送命令实现系统的初始化。
此外,系统中还需要开关电源对电机等设备进行供电,Arduino UNO及工业数码显微镜则直接由计算机供电。
1.2 程序流程及协议设计
图2 本系统的信号传输流程
本系统设计的上位机程序流程图见图3。
图3 上位机程序流程图
开始对焦时,上位机(即计算机)向下位机(即单片机)发送初始化命令“init”,计算机进入等待状态;当单片机收到初始化命令后,单片机将回复“init”给计算机,告知计算机系统处于初始化状态,并控制电机将滑台匀速移动到极值位置(即红外对管对应的丝杆最上方或最下方);当极值位置的红外对管感应到滑台时,发送信号给单片机,说明滑台已经到位,单片机将发送对焦命令“shot”,告知计算机可进行自动对焦处理;当计算机收到“shot”命令后,计算机将发送命令使电机反向移动,并结合对焦深度法[8]完成自动对焦过程;当计算机完成对焦后,单片机将返回对焦完成命令“focused”给计算机,从而完成对焦过程。
通信过程中,除初始化命令“init”、对焦命令“shot”及对焦完成命令“focused”外,还有一个电机控制命令需要设置。电机控制命令主要在对焦过程中应用,结合对焦深度法完成,实现电机移动方向、步数及步长的控制。本系统采用的协议格式见表1。
表1 电机控制命令协议格式
该协议格式共分为4个字段,功能如下:第一个字段为对焦过程控制字段,共1个字节,为0时为正在对焦,下位机将继续发送“shot”命令给上位机,为1时为对焦完成,即电机完成该次移动后即完成对焦,下位机向上位机发送“focused”命令;第二字段为步数字段,最多可达到999999步;第三个字段为电机移动方向字段,其中“ne”表示向下移动,“in”表示向上移动;第四字段为控制电机步长。
2 实验与分析
本系统实物图如图4所示。
图4 简易显微镜实物图
本系统程序分成上位机程序与下位机程序,下位机程序采用C语言编写,实现对电机的控制,红外对管信号的读取及与上位机的通信;上位机程序则使用C++语言编写,采用VS2010开发平台结合OpenCV2.4.8库进行设计,程序流程见图3。
上位机需要与下位机进行串口通信,程序中引入串口通信控件mscomm,实现二者间的通信[9]。另外,上位机程序中一个重要的部分是基于对焦深度法[8]的程序设计。对焦深度法共包含3个部分:对焦窗口选择、图像清晰度评价函数[10]及搜索策略。对焦窗口选择采用引入了中央区域选择法[11]及以整幅图像为对焦区域的全局法;图像清晰度评价函数则直接引用OpenCV2.4.8中自带的Scharr算子、Sobel算子和Laplacian算子[12];搜索策略则直接采用爬山算法[13],见图5,即先用大步长进行峰值搜索,而后减少步长进行反向搜索,当越过峰值后,最后再转回峰值。
图5 爬山算法
上位机交互界面如图6所示,程序界面包括视频处理区、串口处理区及自动对焦处理部分。
图6 系统交互界面
图7为实验中用于自动对焦测试的实物图像及对焦过程获取的离/正焦图像,其中清晰度评价函数采用Scharr算子,对焦窗口采用全局法。由图7可以看出,本系统可以较好地实现对焦过程。实验发现通过对步数及步长的调整,以及选取不同的图像清晰度评价函数,都有助于进一步提升自动对焦的性能。
图7 自动对焦过程
3 结语
基于图像处理的自动对焦可有效解决显微镜手动对焦过程中对焦速度慢、图像质量易受人为因素影响的问题。本文结合基于图像处理自动对焦的显微镜通用结构,采用Arduino UNO开发板、红外对管、电机及电机驱动器设计一套简易显微镜,分别采用C语言与C++语言完成系统下位机与上位机程序设计。本系统结构简单、易于实现,硬件设计适合进行课程设计等,软件设计部分涉及图像采集及基于图像处理的自动对焦部分,适合进行课程实验。
References)
[1] 苗振魁,王庆有,刘诗荣. 自动显微图像处理系统的研制[J]. 光学技术,1997,23(1):43-45.
[2] 马官营,杨明,吴晓琳. 基于图像处理的显微镜自动控制系统[J]. 中国仪器仪表,2004,24(4):14-16.
[3] 段瑞玲,段惠波,李庆祥,等. 基于图像处理的微装配自动调焦系统[J]. 光学精密工程,2006,14(3):468-472.
[4] 易秋实. 光学显微镜自动聚焦系统设计与实现[D]. 武汉: 华中科技大学,2007.
[5] 范富明,程良伦,王晓芬,等. 一种新型光学快速自动聚焦系统[J]. 光电工程,2010,37(5):127-132.
[6] 王文欢,刘威. 可自动对焦的电动显微成像系统[J]. 自动化与仪表,2014,34(7):10-13.
[7] 渠淼,牛国锋,冒张霄,等. 基于Arduino的智能环境监控系统设计[J]. 微型机与应用,2014,33(20):83-85.
[8] 尤玉虎,刘通,刘佳文. 基于图像处理的自动对焦技术综述[J]. 激光与红外,2013,43(2):132-136.
[9] 章辉,叶建芳,叶建威. 基于MSComm控件串口通信的实现[J]. 电子测量技术,2011,34(8):126-129.
[10] 史红伟,石要武,杨爽. 光学显微镜自动调焦指导函数的评价与选择[J]. 计算机辅助设计与图形学学报,2013,25(2):235-240.
[11] 韩柯,朱秀昌,冯荃. 不同物距下的自动聚焦方法研究[J]. 南京邮电大学学报(自然科学版),2007,27(6):44-48.
[12] 轩波,苗立刚,彭思龙. 显微镜下两层物体的快速自动对焦算法[J]. 计算机应用,2007,27(1):143-145.
[13] 郑玉珍. 自动对焦中的优化爬山搜索算法[J]. 浙江科技学院学报,2005,17(3):171-174.
Design and realization of simple microscope with automatic focusing based on image processing
Chen Jian1,2, Chen Dequan2
(1. Fujian Provincial Key Laboratory of Digital Equipment, Fujian University of Technology, Fuzhou 350118, China; 2. School of Information Science and Engineering, Fujian University of Technology, Fuzhou 350118, China)
order to carry out the algorithmic test on automatic focusing based on image processing, and combined with the general structure of a microscope with automatic focusing based on image processing, a set of simple microscopes constituted of Arduino UNO development board, infrared tube, computer, industrial digital microscope and motor are designed. The automatic focusing process of the microscope is realized by the self-designed protocol format and depth focusing method. As this system is characterized by the simple structure, its hardware design is suitable for course design, and software design is related to image acquisition and automatic focusing based on image processing, which is suitable for the algorithmic design and course experiments.
microscope; automatic focusing; image processing; Arduino UNO
10.16791/j.cnki.sjg.2017.02.025
福建省数控装备技术重大研发平台项目(2014H2002);福建省教育厅科技项目“基于图像处理的自动对焦技术在制造物联中的应用研究”(JK2015031);福建工程学院教育科研项目“基于图像处理自动对焦的电子显微装置设计及其在实践教学中的应用”(GB-M-16-04)
陈健(1981—),男,福建古田,博士,副教授,研究方向为图像处理和多媒体通信.
E-mail:jchen321@126.com
TP273;TH742
A
1002-4956(2017)2-0093-04
2016-08-25 修改日期:2016-10-17