zoukankan      html  css  js  c++  java
  • Halcon自学笔记

    编写一个简单的HDevelop程序(获得所有回形针的方向,并在中心位置显示)

    1.首先读取一张图片:read_image (Image, 'G:/halcon/imgs/Clip.PNG')  Image为输出的变量名,后一个参数为图片路径

    2.根据灰度值把回形针分离出来,使用灰度直方图获取阈值:threshold (Image, Region, 0, 56)   Image为输入的图像,Region为输出的图像,0,56为阈值

    3.connection算子用来计算一个区域中联通的部分,用不同颜色表示出来:connection(Region,ConnectedRegions)  

    Region为输入的图像,ConnectedRegions为输出的图像

    4.根据特征选择区域:select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 475, 595)

    5.获得回形针的方向和重心:

    orientation_region(SelectedRegions,Phi)
    area_center(SelectedRegions,Area,Row,Column)

    算子orientation_region会返回一个元组Phi,数组的每个元素值表示:对象元组SelecetdRegions中对应的每个区域的方向。

    算子area_center把每个区域的Area,Row,Column的值以元组的方式返回

    6.在循环体中访问检测结果:

    for Index := 0 to |Phi|-1 by 1
      set_tposition(3600,Row[Index],Column[Index])
      write_string(3600,deg(Phi[Index])+'degrees')
    endfor

    算子set_tposition把图形窗口中的文本光标位置移动至索引Index所对应的区域的中心位置。3600是目标图形窗口的窗口句柄(每个图形窗口对应一个窗口句柄)Row[Index]是HDevelop语言的另一个算子,通过它来访问Tuple元组中的元素。

    算子write_string的作用是在图形窗口的光标位置输出一个指定字符串。

    算子deg也是HDevelop语言的一部分,它的作用是把弧度转化成角度。

    算子+的作用是将两个字符串合并成一个字符串,在本例中,在两个操作数+之前,HDevelop会自动进行类型转换,把deg(Phi[Index])从double转换成string类型

    原图:

    效果图:

  • 相关阅读:
    hihocoder 1142 三分·三分求极值(三分)
    poj 3304 Segments(计算直线与线段之间的关系)
    poj 1269 Intersecting Lines(判断两直线关系,并求交点坐标)
    poj 2398 Toy Storage(计算几何 点线关系)
    poj 2318 TOYS(计算几何 点与线段的关系)
    计算几何基础(模板)
    Jmeter-基本组成
    java-面向对象
    性能测试基础
    java-多线程
  • 原文地址:https://www.cnblogs.com/pushudepu/p/6217937.html
Copyright © 2011-2022 走看看