1.一种基于改进的Retinex算法的图像清晰度判定方法,其特征在于:该方法采用工业摄像机作为待测物图片采集装置,三维位移台作为待测物载体,计算机作为图像数据处理以及待测物载体的控制装置,工业摄像机通过数据线与计算机连接,将采集的图片数据传送到计算机的存储器中,用于对图片进行分析和处理,计算机通过数据线连接三维位移台的驱动端口,计算机中安装好驱动三维位移台的驱动程序,由此控制三维位移台的位移,实现待测物在工业摄像机下方的移动。
2.根据权利要求1所述的基于改进的Retinex算法的图像清晰度判定方法,其特征在于:在所述工业摄像机与待测物载体之间水平设置一环形光源。
3.根据权利要求2所述的基于改进的Retinex算法的图像清晰度判定方法,其特征在于:环形光源将被测物照亮,工业摄像机拍摄被照亮的被测物,图像数据通过数据线传输至计算机,计算机通过串口通信控制高精度电动三维位移台移动,对被测物垂直扫描,采集图像,图像清晰度判定步骤如下:(1)计算机控制三维位移台垂直运动,以500um大步进垂直扫描被测物,确定图像由不清晰到清晰,再到不清晰的起点与终点;
(2)控制位移台回到测量起点,以100um大步进垂直扫描被测物至终点,计算每100um步进采集到图像的清晰度值,找出清晰度值最大所在图像位置A;
(3)从位置A向两端以20um小步进垂直扫描被测物,分别走5个步进,计算每20um步进采集到图像的清晰度值,比较清晰度值,最大值所在位置是摄像机对焦清晰的位置;
(4)图像光照信息估计:采用均值滤波获取图像光照近似信息;
(5)图像边缘细节提取:采用canny算子提取图像集中每幅图像的边缘细节,每幅图像canny算子中的参数k计算如下:k=1-(0.8*ε) 式1-1
公式1-1中ε为每幅图像归一化后的梯度值α,α由公式1-3求得;
采用Tenengrad算法求得图像梯度值,采用Sobel算子分别提取水平和垂直方向的梯度值:清晰度计算公式定义如下:
D(x,y)=∑y∑x|G(x,y)| (G(x,y)>T) 式1-3T是个设定好的边缘检测阈值,G(x,y)的形式如下:
Gh和Gy分别是点(x,y)基于Sobel算子水平和垂直方向的卷积,使用公式1-2的模板来检测边缘;
(6)生成融合图像:将边缘细节图中灰度值为255的像素点,找到原图光照近似图像中相应位置,将该像素点的灰度值设为150,生成融合了光照近似信息和边缘细节的融合图像,见图4a至图4e,为5张垂直位移间隔200um的融合图像;
(7)Retinex算法:该算法的中心思想就是从原始图像S(x,y)中,通过一种近似的估计方法降低或去除入射分量L(x,y)带给图像的影响,达到保留物体本身的信息,进而得到反射图像R(x,y),即增强图像,相机所采集到图像S(x,y)可以理解为是由被测物的反射分量R(x,y)与入射光分量L(x,y)相乘得到的,该过程可由公式1-1表示:S(x,y)=R(x,y)*L(x,y) 式1-5
将公式1-5两边取对数得到:
log(R(x,y))=log(S(x,y))-log(L(x,y)) 式1-6分别取图4a至图4e中的融合图像为L(x,y),可分别得到图5a至图5e图像增强结果;
(8)清晰度值计算:采用式1-3计算每幅增强图像,求得清晰度值,由此完成图像清晰度判定。