一种用于微透镜阵列成像系统的多光斑图像重心定位方法

文档序号:29215312发布日期:2022-03-12 11:05阅读:292来源:国知局
一种用于微透镜阵列成像系统的多光斑图像重心定位方法

1.本发明涉及图像处理领域,具体涉及一种用于微透镜阵列成像系统的多光斑图像重心定位方法。


背景技术:

2.重心定位是一种微透镜阵列成像系统图像处理的重要技术。多光斑图像重心定位技术广泛应用于三维成像、光场摄像机、医学成像、激光制导以及新型光学系统等领域。尤其是在微透镜阵列成像系统中,光被分成许多微小的部分,每个部分的光通过相应的小透镜聚焦在传感器平面上,产生许多规则排列的子图像。因此,多光斑图像的重心定位对于微透镜阵列成像系统中的子图像分割至关重要,它决定了微透镜阵列成像系统的成像性能和稳定性。在实际应用中,由于环境条件的复杂性,微透镜阵列成像系统的多光斑图像会出现信号强度分布不均等噪声干扰情况。因此,一个精确而稳定的重心提取算法显得尤为重要。
3.目前关于多光斑图像的重心定位方法,常用的有质心法、霍夫变换法、高斯拟合法、最大类间阈值法。这些算法虽然能在一定范围内满足各类光学测量场合的图像定位要求,但也存在一定局限性。如:质心法和圆拟合法计算速度快,但精度一般;hough变换法在图像边缘较清晰时精度高,但耗时较长,易受干扰;高斯拟合法精度较高,但算法复杂,运算量大。为此,一种稳定性高、抗噪性能好和自适应能力强的多光斑重心提取算法亟待开发。


技术实现要素:

4.本发明的目的是提供一种用于微透镜阵列成像系统的多光斑图像重心定位方法,在质心法提取整像素图像重心的基础上,设计多滤波器进行多光斑图像预处理,采用四连通roi(region of interest感兴趣区域)分割方法实现连通区域与原始图像自适应匹配,利用otsu-kmeans(大津-k均值聚类算法)分类提取最优聚类中心阈值,最终采用质心法进行重心定位,具有获得相对于传统质心法精度更高的亚像素级重心坐标的特点。
5.本发明所采用的技术方案是,一种用于微透镜阵列成像系统的多光斑图像重心定位方法,具体包括以下步骤:
6.步骤1、对微透镜阵列成像系统形成的原始多光斑图像i(x,y),进行二维灰度转换,设计多滤波器图像预处理得到i2(x,y),x,y为原始图像横、纵坐标的像素大小;
7.步骤2、利用四连通区域roi方法对原始图像进行自适应匹配;
8.步骤3、采用otsu-kmeans方法提取聚类中心阈值;
9.步骤4、利用质心法依次对多光斑二值化图像i
fianl
(x,y)的每个连通区域进行质心定位,得到亚像素级别的多光斑图像的重心坐标。
10.步骤1具体为:
11.使用计算机读取原始多光斑图像i(x,y)并转化为二维灰度图像i_gray(x,y),利用matlab函数fspecial()生成均值滤波器a,表达式如下所示:
12.a=fspecial(

average

,m)
13.此处,average表示均值滤波算子,m是3
×
3的二维滑动矩阵;
14.使用matlab函数filter2()对原始多光斑图像进行平均滤波处理,获得图像i1(x,y),具体操作如下:
15.i1(x,y)=filter2(a,i_gray(x,y))
16.同理,利用matlab函数medfilter2()对原始光斑图像进行中值滤波处理得到去噪后的图像i2(x,y)。
17.步骤2具体包括:
18.步骤2.1、使用最大类间方差法找到合适的阈值t0,将降噪后的多光斑图像i2(x,y)转换为具有相对完整光斑细节的二值图像i
binary
(x,y),二值化具体操作为:
19.此处,img(x,y)为图像i2(x,y)的像素值,t0为二值化阈值;
20.步骤2.2、利用每个光斑图像的连通特性,运用二值图像四连通域标记法将二值化图像i
binary
(x,y)的每个连通区域作同一个标记,根据连通域标记的参数对图像进行分割;
21.步骤2.3、经四连通区域roi分割处理之后,二值化图像i
binary
(x,y)的每个连通区域具有相同的标签,连通区域编号为ci,i=1,2,

,n,n为连通区域的总数,连通区域ci可由matlab函数bwlabel()计算,具体操作如下:
22.ci=bwlabel(i
binary
(x,y),i),i为连通区域的索引;
23.步骤2.4、利用matlab的regionprops()函数计算出经四连通区域roi分割之后的单个光斑图的剪裁矩阵bi,i=1,2,

,n,其矩阵的大小为包含分割后每个光斑连接区域ci的最小矩形;其次,利用matlab函数imcrop()提取原始多光斑去噪图像i2(x,y)对应于裁剪矩阵的掩膜图像:具体操作如下:
24.maski=imcrop(i2(x,y),bi),maski表示多光斑去噪图像i2(x,y)中对应裁剪矩阵bi的每一个光斑连通区域图像。
25.步骤3具体为:
26.步骤3.1、采用最大类间方差法计算每一个多光斑掩膜图像maski的二值化阈值;最大类间方差法原理如下:
27.设图像ori
img
(x,y)的像素尺寸大小x
×
y,图像的最佳阈值为t1,t1将图像分为目标和背景两个部分,其中目标点数占总图像的比例为w0,平均灰度值为u0;背景点数占图像比例为w1,平均灰度值为u1,则有:
28.w0+w1=1
ꢀꢀꢀꢀ
(1)
29.则图像的总平均灰度值为:
30.u=w0u0+w1u1ꢀꢀꢀꢀ
(2)
31.类间方差为:
32.g=w0(u
0-u)2+w1(u
1-u)2ꢀꢀꢀꢀ
(3)
33.联立(1)(2)(3)可得类间方差为:
34.g=w0w1(u
0-u1)2ꢀꢀꢀꢀ
(4)
35.即可采用遍历的方法得到使类间方差g最大的阈值t1;
36.编写matlab算法代码,部分代码实现如下:
37.ti=graythresh(maski),i=1,2,

,n
38.此处,ti为每个图像掩膜部分的二值化阈值,将其保存为二维数据集d;
39.步骤3.2、采用k均值聚类算法对二维数据集d进行分类,得到更合理的聚类中心全局阈值t
final
;利用该阈值对多光斑去噪图像i2(x,y)进行全局最优阈值二值化,得到最终用于质心定位的二值化图像i
fianl
(x,y);
40.k均值聚类算法具体原理如下:
41.假设给定数据样本x,包含了n个对象,x={x1,x2,x3,

,xn},其中每个对象都具有m个维度的属性;
42.k均值聚类算法的目标是将n个对象依据对象间的相似性聚集到指定的k个类簇中,每个对象属于且仅属于一个其到类簇中心距离最小的类簇中;
43.对于k均值聚类算法,首先需要初始化k个聚类中心{c1,c2,c3,
…ck
},其中1<k≤n,然后通过计算每个对象到每个聚类中心的欧式距离,如下所示:
[0044][0045]
上式中,xi表示第i个对象1≤i≤n,cj表示第j个聚类中心1≤i≤k,x
it
表示第i个对象的第t个属性,1≤i≤m,c
jt
表示第j个聚类中心的第t个属性;
[0046]
依次比较每一个对象到每一个聚类中心的距离,将对象分配到距离最近的聚类中心的类簇中,得到k个类簇{s1,s2,s3,

sk};
[0047]
其中用中心定义了类簇的原型,类簇中心就是类簇内所有对象在各个维度的均值,其计算公式如下:
[0048][0049]
式中,c
l
表示第l个聚类的中心,1≤l≤k,|s
l
|表示第l个类簇中对象的个数,xi表示第l个类簇中第i个对象,1≤i≤|s
l
|。
[0050]
步骤4具体为:质心法计算的光斑重心坐标公式如下:
[0051][0052]
上式中:x和y是质心法计算的重心横纵坐标;m和n是图像的尺寸;i
fianl
(i,j)是图像上第i行第j列像素点的灰度值。
[0053]
本发明的有益效果是:
[0054]
本算法首先设计多滤波器进行多光斑图像预处理,图像自适应能力强;采用四连通roi分割方法实现连通区域与原始图像自适应匹配,识别分割精度高;利用otsu-kmeans分类提取最优聚类中心阈值,图像失真小;最终采用质心法进行重心定位,获得相对于传统质心法精度更高的亚像素级重心坐标,算法精度高,抗干扰能力强。
附图说明
[0055]
图l为实施方式中亚像素级重心提取算法流程图;
[0056]
图2为实施方式中的原始多光斑图;
[0057]
图3为实施方式中对图2多滤波去噪、最终二值化处理后的多光斑图;
[0058]
图4为实施方式中引入otsu-kmeans求得的亚像素级重心的光斑图;
[0059]
图5为实施方式中仿真生成的原始多光斑图;
[0060]
图6为实施方式中对图5求得的亚像素级重心的光斑图。
具体实施方式
[0061]
下面结合附图和具体实施方式对本发明进行详细说明。
[0062]
如图1所示:通过计算机读取原始多光斑图像,对图像及进行均值、中值多滤波处理,利用四连通区域roi分割方法识别标记多光斑图像的每一个连通区域,并在原始图像中进行标记区域的匹配裁剪,运用otsu方法提取每一个裁剪区域的阈值,并采用kmeans算法得到最优聚类中心阈值,最终二值化后再运用质心法依次求得亚像素级光斑重心坐标。
[0063]
一种用于微透镜阵列成像系统的多光斑图像重心定位方法,具体包括以下步骤:
[0064]
步骤1、微透镜阵列成像系统形成的原始多光斑图像i(x,y),即图2,图2为将对象进行30
°
旋转的多光斑图像。进行二维灰度转换,设计多滤波器图像预处理得到i2(x,y),x,y为原始图像横、纵坐标的像素大小;
[0065]
步骤2、利用四连通区域roi方法对原始图像进行自适应匹配;
[0066]
步骤3、采用otsu-kmeans方法提取聚类中心阈值;
[0067]
步骤4、利用质心法依次对多光斑二值化图像i
fianl
(x,y)的每个连通区域进行质心定位,得到亚像素级别的多光斑图像的重心坐标。
[0068]
步骤1具体为:
[0069]
使用计算机读取原始多光斑图像i(x,y)并转化为二维灰度图像i_gray(x,y),利用matlab函数fspecial()生成均值滤波器a,表达式如下所示:
[0070]
a=fspecial(

average

,m)
[0071]
此处,average表示均值滤波算子,m是3
×
3的二维滑动矩阵;
[0072]
使用matlab函数filter2()对原始多光斑图像进行平均滤波处理,获得图像i1(x,y),具体操作如下:
[0073]
i1(x,y)=filter2(a,i_gray(x,y))
[0074]
同理,利用matlab函数medfilter2()对原始光斑图像进行中值滤波处理得到去噪后的图像i2(x,y)。
[0075]
步骤2具体包括:
[0076]
步骤2.1、使用最大类间方差法找到合适的阈值t0,将降噪后的多光斑图像i2(x,y)转换为具有相对完整光斑细节的二值图像i
binary
(x,y),此处实验取阈值t0=100;二值化具体操作为:
[0077]
此处,img(x,y)为图像i2(x,y)的像素值,t0为二值化阈值;
[0078]
步骤2.2、利用每个光斑图像的连通特性,运用二值图像四连通域标记法将二值化
图像i
binary
(x,y)的每个连通区域作同一个标记,根据连通域标记的参数对图像进行分割;
[0079]
步骤2.3、经四连通区域roi分割处理之后,二值化图像i
binary
(x,y)的每个连通区域具有相同的标签,连通区域编号为ci,i=1,2,

,n,n为连通区域的总数,连通区域ci可由matlab函数bwlabel()计算,具体操作如下:
[0080]ci
=bwlabel(i
binary
(x,y),i),i为连通区域的索引;
[0081]
步骤2.4、利用matlab的regionprops()函数计算出经四连通区域roi分割之后的单个光斑图的剪裁矩阵bi,i=1,2,

,n,其矩阵的大小为包含分割后每个光斑连接区域ci的最小矩形;其次,利用matlab函数imcrop()提取原始多光斑去噪图像i2(x,y)对应于裁剪矩阵的掩膜图像:具体操作如下:
[0082]
maski=imcrop(i2(x,y),bi),maski表示多光斑去噪图像i2(x,y)中对应裁剪矩阵bi的每一个光斑连通区域图像。
[0083]
步骤3具体为:
[0084]
步骤3.1、采用最大类间方差法计算每一个多光斑掩膜图像maski的二值化阈值;最大类间方差法原理如下:
[0085]
设图像ori
img
(x,y)的像素尺寸大小x
×
y,图像的最佳阈值为t1,t1将图像分为目标和背景两个部分,其中目标点数占总图像的比例为w0,平均灰度值为u0;背景点数占图像比例为w1,平均灰度值为u1,则有:
[0086]
w0+w1=1
ꢀꢀꢀ
(1)
[0087]
则图像的总平均灰度值为:
[0088]
u=w0u0+w1u1ꢀꢀꢀ
(2)
[0089]
类间方差为:
[0090]
g=w0(u
0-u)2+w1(u
1-u)2ꢀꢀꢀ
(3)
[0091]
联立(1)(2)(3)可得类间方差为:
[0092]
g=w0w1(u
0-u1)2ꢀꢀꢀ
(4)
[0093]
即可采用遍历的方法得到使类间方差g最大的阈值t1;
[0094]
编写matlab算法代码,部分代码实现如下:
[0095]
ti=graythresh(maski),i=1,2,

,n
[0096]
此处,ti为每个图像掩膜部分的二值化阈值,将其保存为二维数据集d;
[0097]
步骤3.2、采用k均值聚类算法对二维数据集d进行分类,得到更合理的聚类中心全局阈值t
final
;利用该阈值对多光斑去噪图像i2(x,y)进行全局最优阈值二值化,得到最终用于质心定位的二值化图像i
fianl
(x,y);
[0098]
k均值聚类算法具体原理如下:
[0099]
假设给定数据样本x,包含了n个对象,x={x1,x2,x3,

,xn},其中每个对象都具有m个维度的属性;
[0100]
k均值聚类算法的目标是将n个对象依据对象间的相似性聚集到指定的k个类簇中,每个对象属于且仅属于一个其到类簇中心距离最小的类簇中;
[0101]
对于k均值聚类算法,首先需要初始化k个聚类中心{c1,c2,c3,
…ck
},其中1<k≤n,然后通过计算每个对象到每个聚类中心的欧式距离,如下所示:
[0102][0103]
上式中,xi表示第i个对象1≤i≤n,cj表示第j个聚类中心1≤i≤k,x
it
表示第i个对象的第t个属性,1≤i≤m,c
jt
表示第j个聚类中心的第t个属性;
[0104]
依次比较每一个对象到每一个聚类中心的距离,将对象分配到距离最近的聚类中心的类簇中,得到k个类簇{s1,s2,s3,

sk};
[0105]
其中用中心定义了类簇的原型,类簇中心就是类簇内所有对象在各个维度的均值,其计算公式如下:
[0106][0107]
式中,c
l
表示第l个聚类的中心,1≤l≤k,|s
l
|表示第l个类簇中对象的个数,xi表示第l个类簇中第i个对象,1≤i≤|s
l
|。
[0108]
步骤4具体为:质心法计算的光斑重心坐标公式如下:
[0109][0110]
上式中:x和y是质心法计算的重心横纵坐标;m和n是图像的尺寸;i
fianl
(i,j)是图像上第i行第j列像素点的灰度值。
[0111]
利用matlab仿真随机生成100张光斑重心为x1=(31.75,153.85),x2=(118.20,31.95),x3=(150.65,148.55)并且带有σ=8高斯噪声及σ=0.006椒盐噪声的原始多光斑图像,即图5。同理,对图像进行上诉四个步骤的处理,得到重心定位结果,即图6。平均定位重心的坐标分别为x
11
=(31.8101,153.8194),x
22
=(118.1499,31.9917),x
33
=(150.6298,148.4981)。量化后的平均误差为0.20366像素,误差计算如下:
[0112][0113]
即:
[0114][0115]
因此,本方法实现了在仿真及微透镜阵列成像系统的多光斑图像中亚像素级的重心定位。
[0116]
本算法首先设计多滤波器进行多光斑图像预处理,图像自适应能力强;采用四连通roi分割方法实现连通区域与原始图像自适应匹配,识别分割精度高;利用otsu-kmeans
分类提取最优聚类中心阈值,图像失真小;最终采用质心法进行重心定位,获得相对于传统质心法精度更高的亚像素级重心坐标,算法精度高,抗干扰能力强。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1