一种光纤内窥镜图像标定方法与流程
未命名
08-18
阅读:181
评论:0
1.本发明涉及图像标定技术领域,尤其涉及一种光纤内窥镜图像标定方法。
背景技术:
2.光纤内窥镜因其直径小,探头可弯曲等特点被广泛应用于复杂结构狭小空间里的裂纹,腐蚀等情况的探查。探查时,将光纤内窥镜伸入被测物体内部,并在内窥镜目镜端安装一个高分辨率的数字相机,对光纤内窥镜里的影像进行拍摄存储,利用软件对采集的图像进行实时分析。
3.然而相机经光纤内窥镜采集到的图像受外界环境和自身缺陷的影响会有噪声产生,造成图像的降质,与常规镜头拍摄的图像相比会产生对比度明显降低、画质模糊、背景和目标物难以区分等现象,给后续的分析带来困难;如图1所示为常规镜头标定板图像;如图2所示为光纤镜头标定板图像;同时由于光纤镜的固有特性,为使拍摄到的靶面尽可能大,光线内窥镜的物镜采用了小孔径、大视场和大景深的设计原则,因此相机在目镜处采集到的图像会存在30%左右的桶形畸变,为了精确提取标记点中心坐标,需要对图像进行畸变校正。
4.基于上述两种原因,常规的图像标定计算方法对光纤内窥镜图像难以适用,会给分析带来较大的误差。
5.所以研发出一种光纤内窥镜图像标定方法来解决上述问题。
技术实现要素:
6.本发明的目的就在于为了解决上述问题设计了一种光纤内窥镜图像标定方法。
7.本发明通过以下技术方案来实现上述目的:
8.一种光纤内窥镜图像标定方法,包括以下步骤:
9.s1、对相机通过光纤镜拍摄的标定板图像进行高斯滤波;
10.s2、通过二值化方法滤掉经步骤s1处理后的图像中的黑色背景和蜂窝网格,消除图像中无用的信息,提取标定板轮廓和标记点的特征;
11.s3、对经步骤s2处理后的标定板图像中的多个标记点进行识别和提取,对标定板里的标记点进行筛选,提取标记点区域,然后利用重心计算方式获得标记点中心坐标;
12.s4、根据第三步提取出来的标记点中心坐标数组,采用点阵样板标定的方法对光纤内窥镜图像进行矫正。
13.具体地,在步骤s1中,根据标定板图像中的蜂窝网格的噪声类型用gauss_filter()函数对图像进行高斯滤波。
14.具体地,在步骤s2中,采用局部阈值的二值化方法来提取标定板轮廓和标记点的特征。
15.进一步地,在步骤s2中,运用local_threshold()函数,对高斯滤波后的图像进行局部阈值的二值化操作,具体包括:
16.s21、通过调节local_threshold()函数中mask_size的值来设置掩码大小;
17.s22、通过设置local_threshold()函数中range的最大假设值,来对标记点的细节进一步提取;
18.s23、利用fill_up()函数对区域进行填充,将标定板填充成方形,再通select_shape()函数,根据标定板的实际长宽参数将标定板矩形区域提取出来,然后通过difference()函数,对提取的标定板矩形区域和原有区域做两次减法,将标定板轮廓和标记点提取出来;
19.s24、在提取出标定板轮廓和标记点后,运用gen_image_const()函数生成一张和原图同样大小的空白图像,再用paint_region()函数将提取的标定板轮廓和标记点打印到新图像中,至此提取出了标定板轮廓和标记点,过滤掉了蜂窝网格。
20.作为一种优选,在步骤s21中,将mask_size设置为大于要分割的标记点的当量直径,且为奇数。
21.作为另一种优选,在步骤s21中,mask_size为偶数,则默认使用下一个较大的奇数值。
22.优选地,在步骤s22中,用min_max_gray()函数获取图像的灰度值范围,range取grayrange的0.5倍以内。
23.具体地,在步骤s4中,先通过calibrate camera()函数得到图像的畸变系数,然后运用readparam()函数,读取畸变系数,当函数参数alpha为1时视场大小不变,小于1时需要缩放视场,再运用initundistortrectifymap()函数时根据畸变系数输出得到map1和map2两个参数,最后运用remap()函数获得矫正后图像。
24.本发明的有益效果在于:
25.1、通用性强,该标定方法可以针对不同直径、不同像元的光纤内窥镜拍摄的图像进行矫正识别;
26.2、鲁棒性强,该标定方法对不同距离、不同角度和混合多种噪声干扰下标定板的标记点识别有较好的鲁棒性;
27.3、精度高,运用该标定方法的图像位移非接触式测试系统,测量误差不大于10μm,运用亚像素、分割等处理方法误差可达数个μm。
附图说明
28.图1为常规镜头标定板图像;
29.图2为光纤镜头标定板图像;
30.图3-1为经高斯滤波前的标定板图像;
31.图3-2为经高斯滤波后的标定板图像;
32.图4为经自动阈值二值化后的标定板图像;
33.图5为经局部阈值二值化的标定板图像;
34.图6为经local_threshold()函数中不同的mask_size值处理的标定板图像;其中,a为mask_size=15;b为mask_size=31;
35.图7为经local_threshold()函数中不同的range最大假设值处理的标定板图像;其中,a为range=92.5;b为range=20.5;
36.图8为经过fill_up()函数处理后的标定板图像;
37.图9为经过select_shape()函数处理后的标定板图像;
38.图10为经过difference()函数第一次处理后的标定板图像;
39.图11为经过difference()函数第二次处理后的标定板图像;
40.图12为经过paint_region()函数处理后的标定板图像;
41.图13为经findcirclesgrid()函数中不同minarea面积参数值处理的效果对比图,其中,a为minarea=300;b为minarea=100;
42.图14为标记点识别成功与提取的标定板图像;
43.图15为矫正过后的标定板图像;
44.图16为标记点图像区域提取示意图;
45.图17为激光位移计和图像位移测试系统的位移数据比较示意图;
46.图18为标定板距离镜头1cm,与镜头平行的标定矫正结果;其中,a为原图;b为标定矫正结果示意图;
47.图19为标定板距离镜头3cm,与镜头平行的标定矫正结果;其中,a为原图;b为标定矫正结果示意图;
48.图20为标定板距离镜头0.5cm,与镜头呈15
°
角度且有较多噪声干扰的标定矫正结果;其中,a为原图;b为标定矫正结果示意图。
具体实施方式
49.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
50.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
52.在本发明的描述中,需要理解的是,术语“上”、“下”、“内”、“外”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
53.此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
54.在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,“设置”、“连接”等术语应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可
以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
55.下面结合附图,对本发明的具体实施方式进行详细说明。
56.如图1所示,一种光纤内窥镜图像标定方法,包括以下步骤:
57.s1、对相机通过光纤镜拍摄的标定板图像进行高斯滤波;光纤镜头由无数根光纤束缠绕聚合而成,相机通过光纤镜拍摄的图像会呈现出蜂窝网格状,对标记点的识别产生的干扰,因此需要对图像中的蜂窝网格进行滤波。根据该蜂窝网格的噪声类型用gauss_filterlocal_threshold()函数对图像进行高斯滤波,滤波效果如图3-1和3-2所示,图3-1为经高斯滤波前的标定板图像;图3-2为经高斯滤波后的标定板图像;
58.s2、通过二值化方法滤掉经步骤s1处理后的图像中的黑色背景和蜂窝网格,消除图像中无用的信息,增强感兴趣信息的可检测性,为标定板上的标记点和背景的分离提供可靠的保证;采用局部阈值的二值化方法来提取标定板轮廓和标记点的特征;
59.常用的二值化方法有自动阈值和局部阈值两种方法,自动阈值二值化auto_threshold()函数可以显示标定板、标记点的细节,但是对标记点和标定板轮廓的有效特征却无法提取,如图4所示。因此本标定方法采用局部阈值的二值化方法来提取标定板轮廓和标记点的特征,即运用local_threshold()函数,对高斯滤波后的图像进行局部阈值的二值化操作,如图5所示。运用local_threshold()函数,对高斯滤波后的图像进行局部阈值的二值化操作具体包括:
60.s21、通过调节local_threshold()函数中的mask_size来设置掩码大小;即局部阈值二值化方法中邻域的大小。mask_size值越小,标记点分割的越细,故必须将mask_size设置为大于要分割的标记点的当量直径,一般为奇数,如果mask_size为偶数,则默认使用下一个较大的奇数值。如图6所示,为经不同local_threshold()函数中的mask_size值处理的标定板图像;其中,a为mask_size=15;b为mask_size=31;
61.s22、通过设置local_threshold()函数中range的最大假设值,来对标记点的细节进一步提取;用min_max_gray()函数获取图像的灰度值范围,range取grayrange的0.5倍以内,range值越大,提取点的越细小,range值越小,点越粗。根据经验range值取range=grayrange/rangedev,其中rangedev为系数,取值9。如图7所示,为不同range值情况下的标定板图像;其中,a为range=92.5;b为range=20.5;
62.s23、利用fill_up()函数对区域进行填充,将标定板填充成方形,如图8所示;再通select_shape()函数,根据标定板的实际长宽参数将标定板矩形区域提取出来,如图9所示;然后通过difference()函数,对提取的标定板矩形区域和原有区域做两次减法,将标定板轮廓和标记点提取出来,两次处理分别如图10、11所示;为经过fill_up()处理后的标定板图像;
63.s24、在提取出标定板轮廓和标记点后,运用gen_image_const()函数生成一张和原图同样大小的空白图像,再用paint_region()函数将提取的标定板轮廓和标记点打印到新图像中,至此成功提取出了标定板轮廓和标记点,过滤掉了蜂窝网格,如图12所示。
64.s3、运用findcirclesgrid()函数对经步骤s2处理后的标定板图像中的49个标记点进行识别和提取,提取标记点区域,然后利用重心计算方式获得标记点中心坐标;提取应用如图13所示。
65.当最小面积参数minarea不合适时,标定板标记点中心坐标无法正确提取;需要根据标记点所占像素面积大小进行设置,只有设置合适的最小面积参数时,标定板标记点才可以正确的识别出来,并且按一定顺序排列。如图14为标记点识别成功与提取的标定板图像。
66.s4、根据第三步提取出来的标记点中心坐标数组,采用点阵样板标定的方法对光纤内窥镜图像进行矫正。
67.先通过calibrate camera()函数得到图像的畸变系数,然后运用readparam()函数,读取畸变系数,当函数参数alpha为1时视场大小不变,小于1时需要缩放视场,再运用initundistortrectifymap()函数时根据畸变系数输出得到map1和map2两个参数,最后运用remap()函数获得矫正后图像;该标定方法可消除桶形畸变95%左右,误差1个像素,根据标定关系与采用的亚像素计算方法,实际约为5μm,如图15所示为矫正过后的图像。
68.一般标记点区域只占整张图片的一小部分,因此可以设置图像感兴趣区域(roi)来框选需要的标记点,只对该roi里的图像进行处理计算。使用draw_rectangle1()函数在图像中手动画出感兴趣的区域后,再使用gen_rectangle1()函数生成一个矩形区域,最后使用reduce_domain()函数获得感兴趣的图像。
69.经过区域提取获得感兴趣图像后,识别该区域标记点的横纵坐标,求取位移变化。利用精密位移平台制造微位移,分析计算位移变化前后标记点的形心坐标,根据已知的位移值可以得出像素和位移的对应关系。然后采用激光位移计与图像位移测试系统在精密位移平台上进行比对验证,验证方法:通过光纤内窥镜进行标记点图像采集,设计的标记点形状、布局如图16所示,标记点当量直径0.5mm,横向间距1mm,纵向间距2mm,后背胶粘贴,运用该标定方法对采集的标记点图像进行计算分析,将图像位移测试系统得出的位移值与激光位移计测出的值进行比对。
70.激光位移计的测量误差为1μm,数据如表1所示(对应地,如图17所示,为激光位移计和图像位移测试系统的位移数据比较示意图),其中t代表时间,利用位移平台制造产生8次微位移d1-d8,c代表像素坐标系下标记点形心坐标变化值,d代表平均像素对应位移值,jd代表激光位移计测量的数据,td代表图像位移测试系统数据。根据标定关系与采用的亚像素计算方法,从表中数据可以分析得出1像素对应位移约10μm,且激光位移计测量数据和图像位移测试系统数据两者基本重合,最大差值2.4μm,说明该图像标定方法和图像位移测试系统可行,测试结果真实可靠。
71.表1激光位移计和图像位移测试系统的位移数据
[0072][0073]
运用设计的标定系统对光纤内窥镜拍摄的不同类型的标定板图像进行标定矫正,图18为标定板距离镜头1cm,与镜头平行的标定矫正结果;图19为标定板距离镜头3cm,与镜
头平行的标定矫正结果;图20为标定板距离镜头0.5cm,与镜头呈一定角度且有较多噪声干扰的标定矫正结果。
[0074]
由以上图例可以看出,该标定方法的通用性和鲁棒性较强,适合多种场景下、不同质量图像的矫正识别。
[0075]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种光纤内窥镜图像标定方法,其特征在于,包括以下步骤:s1、对相机通过光纤镜拍摄的标定板图像进行高斯滤波;s2、通过二值化方法滤掉经步骤s1处理后的图像中的黑色背景和蜂窝网格,消除图像中无用的信息,提取标定板轮廓和标记点的特征;s3、对经步骤s2处理后的标定板图像中的多个标记点进行识别和提取,对标定板里的标记点进行筛选,提取标记点区域,然后利用重心计算方式获得标记点中心坐标;s4、根据第三步提取出来的标记点中心坐标数组,采用点阵样板标定的方法对光纤内窥镜图像进行矫正。2.根据权利要求1所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s1中,根据标定板图像中的蜂窝网格的噪声类型用gauss_filter()函数对图像进行高斯滤波。3.根据权利要求1所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s2中,采用局部阈值的二值化方法来提取标定板轮廓和标记点的特征。4.根据权利要求3所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s2中,运用local_threshold()函数,对高斯滤波后的图像进行局部阈值的二值化操作,具体包括:s21、通过调节local_threshold()函数中mask_size的值来设置掩码大小;s22、通过设置local_threshold()函数中range的最大假设值,来对标记点的细节进一步提取;s23、利用fill_up()函数对区域进行填充,将标定板填充成方形,再通select_shape()函数,根据标定板的实际长宽参数将标定板矩形区域提取出来,然后通过difference()函数,对提取的标定板矩形区域和原有区域做两次减法,将标定板轮廓和标记点提取出来;s24、在提取出标定板轮廓和标记点后,运用gen_image_const()函数生成一张和原图同样大小的空白图像,再用paint_region()函数将提取的标定板轮廓和标记点打印到新图像中,至此提取出了标定板轮廓和标记点,过滤掉了蜂窝网格。5.根据权利要求4所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s21中,将mask_size设置为大于要分割的标记点的当量直径,且为奇数。6.根据权利要求4所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s21中,mask_size为偶数,则默认使用下一个较大的奇数值。7.根据权利要求4所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s22中,用min_max_gray()函数获取图像的灰度值范围,range取grayrange的0.5倍以内。8.根据权利要求1所述的一种光纤内窥镜图像标定方法,其特征在于,在步骤s4中,先通过calibrate camera()函数得到图像的畸变系数,然后运用readparam函数,读取畸变系数,当函数参数alpha为1时视场大小不变,小于1时需要缩放视场,再运用initundistortrectifymap()函数时根据畸变系数输出得到map1和map2两个参数,最后运用remap()函数获得矫正后图像。
技术总结
本发明公开了一种光纤内窥镜图像标定方法,包括对标定板图像进行高斯滤波;通过二值化滤掉经上步处理后的图像中的黑色背景和蜂窝网格,消除图像中无用的信息,提取标定板轮廓和标记点的特征;对标定板图像中的多个标记点进行识别和提取,对标定板里的标记点进行筛选,提取标记点区域,然后利用重心计算方式获得标记点中心坐标;根据提取出来的标记点中心坐标数组,采用点阵样板标定的方法对光纤内窥镜图像进行矫正。本发明鲁棒性强,该标定方法对不同距离、不同角度和混合多种噪声干扰下标定板的标记点识别有较好的鲁棒性;精度高,运用该标定方法的图像位移非接触式测试系统,测量误差不大于10μm,运用亚像素、分割等处理方法误差可达数个μm。法误差可达数个μm。法误差可达数个μm。
技术研发人员:范庆辉 欧峰 袁彪 黄海莹 文勇 刘丹峰
受保护的技术使用者:中国工程物理研究院总体工程研究所
技术研发日:2023.05.09
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
