项目实战四 图像拼接

一、简介

图像拼接是我们常用到的一种技术,我个人曾经天真的以为项目中最长用的是用halcon 案例中的那种来拼图,但是真正做项目的时候并不是这样的,这是项目中的一个一个真实案例。

二、项目背景

1、有 上、中、下三张图片,且每张图片的右边是一排标定圆

2、上面图的标定圆能拍到9个圆孔,中间的图片拍到上图的全部和下图的部分保证有重叠的,下图和中图肯定也要有重叠,如下图:

 

 

三、拼图原理

如前面两步所示:

第一步:我们需要找到图片右边的标定圆,找圆的时候,a、先通过blob 分析找出想要的圆孔的轮廓,然后拟合圆,还有一种方法就是计算出圆孔的area_center,然后用二维测量卡尺来拟合圆

* 通过面积来计算半径
Radius:=pow(mean(Area)/rad(180),0.5)

* 创建卡尺的
create_metrology_model (MetrologyHandle)
get_image_size (ImageReduced, Width, Height)
set_metrology_model_image_size (MetrologyHandle, Width, Height)

tuple_gen_const (|Row|, Radius, Radiuses)
add_metrology_object_circle_measure (MetrologyHandle, Row, Column, Radiuses, 5, 10, 1, 30, ['num_measures','measure_transition','measure_select','min_score'], [16,'positive','all',0.1], Index_circle)

apply_metrology_model (ImageReduced, MetrologyHandle)


get_metrology_object_result (MetrologyHandle, Index_circle, 'all', 'result_type', 'all_param', Parameter_circle)

第二步:第一步中我们得到的各个图片的圆孔行列坐标,这一步只要是计算重叠位置的差,分布是上图和中图 的offsetx1 offsety1,以及中图和下图的offsetx2,offsety2 。计算的方式有很多,这里就不说了。

第三步:通过tile_images_offset 算子来拼图

四、显示效果

核心代码:

找圆

    * 得到9个圆的半径和  行列坐标
    Albert_Carib_Circle (ImageResult, ContCircleT, 'TOP', tilParams[6], [tilParams[7],tilParams[9],tilParams[10]], [tilParams[8],1,tilParams[11]], [], ProcessObjOut, ProcessObjOut, RowT, ColumnT)
    SetDictObject (ContCircleT, ProcessObjOut, '上图找圆结果')
    
     * 计算相邻两个圆之间的距离 
    distance_pp (RowT[0:|RowT|-2], ColumnT[0:|RowT|-2], RowT[1:|RowT|-1], ColumnT[1:|RowT|-1], Distance)
    a := max(Distance)-min(Distance)

 拼图:

 OffsetYX := [0,0,OffsetY11,OffsetX11,OffsetY11+OffsetY22,OffsetX11+OffsetX22]
   * set_dict_tuple (DictHandle_tile, '标定圆提取', ProcessObjOut)
    *拼图
    gen_empty_obj (TiledImageLight)
    gen_empty_obj (TiledImageDark)
    get_image_size (ObjectSelected, Width, Height)
    tile_images_offset (ImageLights, TiledImageLight, [OffsetYX[0],OffsetYX[2],OffsetYX[4]], [OffsetYX[1],OffsetYX[3],OffsetYX[5]], [0,0,0], [0,0,0], [Height,Height,Height], [Width,Width,Width], Width, Height*3-2000)

最终效果:

猜你喜欢

转载自blog.csdn.net/weixin_39354845/article/details/124442128