全国服务热线:

15861139266

测量液体线高度,苏州PLC培训,苏州上位机培训,苏州机器视觉培训,苏州工业机器人培训,苏州电工培训
发布时间:2023-04-10 10:05:51 点击次数:304

测量液体线高度


 本案例通过测量矩形测量液位线的位置来判断液体是装多了还是装少了。(测量矩形使用形状模板匹配定位跟随测量)


整体思路:


以瓶底为模板进行模板匹配

设定标准液线,高液线,低液线(瓶内液体在该范围内判定合格)

将测量矩形移动到测量位置进行测量

显示

dev_get_window (WindowHandle)

set_display_font (WindowHandle, 15, 'mono', 'true', 'false')

read_image (Image, 'ampoules/ampoules_01')

* 创建模板

get_image_size (Image, Width, Height)

gen_rectangle1 (ModelRegion, 264, 54, 321, 100)

reduce_domain (Image, ModelRegion, TemplateImage)

create_shape_model (TemplateImage, 3, rad(-5), rad(10), 'auto', ['none','no_pregeneration'], 'use_polarity', [25,54,4], 4, ModelID)

get_shape_model_contours (ModelContours, ModelID, 1)

NumImages := 8

for Index := 1 to NumImages by 1

    read_image (Image, 'ampoules/ampoules_' + Index$'.2d')

       * 寻找实例

       find_shape_model (Image, ModelID, rad(-5), rad(10), 0.7, 0, 0.5, 'least_squares', [3,1], 0.75, Row, Column, Angle, Score)

       MeanRows:=mean(Row)

       Length1:=52

       Length2:=20

       gen_measure_rectangle2 (0, 0, rad(90), Length1, Length2,Width, Height, 'nearest_neighbor', MeasureHandle)

       

       * 设置两条参考线

       MeasureRow:=MeanRows-180

       standard:=120//标准液线

       offset:=20//允许液线偏移量

       RefLineHigh:=standard-offset//高液线

       RefLineLow:=standard+offset//低液线

       dev_set_color ('cyan')

       

       dev_set_line_width (1)

       set_line_style (WindowHandle, 10)

       

       gen_contour_polygon_xld (ContourLineHigh, [RefLineHigh,RefLineHigh], [0,Width])

       gen_contour_polygon_xld (ContourLineLow, [RefLineLow,RefLineLow], [0,Width])

       gen_contour_polygon_xld (ContourStand, [standard,standard], [0,Width])

       dev_display (Image)

       dev_display (ContourStand)

       dev_display (ContourLineHigh)

       dev_display (ContourLineLow)

       for I := 0 to |Score| - 1 by 1

              * 将测量矩形移动到测量位置

              dev_set_line_width (3)

              set_line_style (WindowHandle, 0)

              * 转换度量对象

              translate_measure (MeasureHandle, MeasureRow, Column[I])

              measure_pos (Image, MeasureHandle, 2.6, 7, 'all', 'all', RowEdge, ColumnEdge, Amplitude, Distance)

              if(|RowEdge|>0)

                  if(RowEdge<RefLineHigh)

                      dev_set_color ('red')

                     gen_contour_polygon_xld (Contour, [RowEdge,RowEdge], [ColumnEdge-24,ColumnEdge+24])  

                     dev_display (Contour)

                     disp_message (WindowHandle, '超出'+(RefLineHigh-RowEdge), 'image', RowEdge, ColumnEdge-30, 'red', 'false')                        

                  elseif(RowEdge>RefLineLow)

                         dev_set_color ('red')

                          gen_contour_polygon_xld (Contour, [RowEdge,RowEdge], [ColumnEdge-24,ColumnEdge+24])  

                         dev_display (Contour)

                         disp_message (WindowHandle, '低出'+(RowEdge-RefLineLow), 'image', RowEdge, ColumnEdge-30, 'red', 'false')   

                  else

                          dev_set_color ('green')

                          gen_contour_polygon_xld (Contour, [RowEdge,RowEdge], [ColumnEdge-24,ColumnEdge+24])  

                          dev_display (Contour) 

                  endif   

              endif

       endfor  

       stop()

endfor





蓝色企业培训课程表图文风横版海报__2023-04-07+10_17_46.png

立即咨询
  • 品质服务

    服务贴心周到

  • 快速响应

    全天24小时随时沟通

  • 专业服务

    授权率高,保密性强

  • 完善售后服务

    快速响应需求,及时性服务

直播课程
软件开发基础课程
上位机软件开发课
机器视觉软件开发课
专题课
联系方式
电话:15861139266
邮箱:75607082@qq.com
地址:苏州吴中区木渎镇尧峰路69号
关注我们

版权所有:江苏和讯自动化设备有限公司所有 备案号:苏ICP备2022010314号-1

技术支持: 易动力网络