• halcondistance_pp求两点的距离


    在HDevelop中

    dev_close_window ()
    dev_update_off()
    read_image (Image9, 'D:/bb/tu/9.jpg')
    rgb1_to_gray (Image9, GrayImage)
    
    threshold (GrayImage, Region, 200, 255)
    connection (Region, ConnectedRegions)
    
    select_obj (ConnectedRegions, ObjectSelected, 1)
    select_obj (ConnectedRegions, ObjectSelected1, 2)
    area_center (ObjectSelected, Area, Row, Column)
    area_center (ObjectSelected1, Area1, Row1, Column1)
    
    get_image_size (Image9, Width, Height)
    dev_open_window(10,10,Width, Height,'black',WindowHandle)
    dev_display(ObjectSelected)
    
    dev_open_window(10,100,Width, Height,'black',WindowHandle1)
    dev_display(ObjectSelected1)
    
    distance_pp (Row, Column, Row1, Column1, Distance)
    *求两点的距离
    *参数1:第一个点的行坐标-y
    *参数2:第一个点的列坐标-x
    *参数3:第二个点的行坐标-y
    *参数4:第二个点的列坐标-x
    *参数5:返回的距离


    在QtCreator中

      HObject  ho_Image9, ho_GrayImage, ho_Region, ho_ConnectedRegions;
      HObject  ho_ObjectSelected, ho_ObjectSelected1;
      HTuple  hv_Area, hv_Row, hv_Column, hv_Area1;
      HTuple  hv_Row1, hv_Column1, hv_Width, hv_Height, hv_WindowHandle;
      HTuple  hv_WindowHandle1, hv_Distance;
      ReadImage(&ho_Image9, "D:/bb/tu/9.jpg");
      Rgb1ToGray(ho_Image9, &ho_GrayImage);
    
      Threshold(ho_GrayImage, &ho_Region, 200, 255);
      Connection(ho_Region, &ho_ConnectedRegions);
    
      SelectObj(ho_ConnectedRegions, &ho_ObjectSelected, 1);
      SelectObj(ho_ConnectedRegions, &ho_ObjectSelected1, 2);
      AreaCenter(ho_ObjectSelected, &hv_Area, &hv_Row, &hv_Column);
      AreaCenter(ho_ObjectSelected1, &hv_Area1, &hv_Row1, &hv_Column1);
    
      GetImageSize(ho_Image9, &hv_Width, &hv_Height);
      SetWindowAttr("background_color","black");
      OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle);
      HDevWindowStack::Push(hv_WindowHandle);
      if (HDevWindowStack::IsOpen())
        DispObj(ho_ObjectSelected, HDevWindowStack::GetActive());
    
      SetWindowAttr("background_color","black");
      OpenWindow(10,100,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle1);
      HDevWindowStack::Push(hv_WindowHandle1);
      if (HDevWindowStack::IsOpen())
        DispObj(ho_ObjectSelected1, HDevWindowStack::GetActive());
    
      DistancePp(hv_Row, hv_Column, hv_Row1, hv_Column1, &hv_Distance);
      //求两点的距离
      //参数1:第一个点的行坐标-y
      //参数2:第一个点的列坐标-x
      //参数3:第二个点的行坐标-y
      //参数4:第二个点的列坐标-x
      //参数5:返回的距离

  • 相关阅读:
    分治思想
    二分查找---查找区间
    二分查找---有序数组的 Single Element
    Ogre碰撞检测
    JavaScript常用检测脚本(正则表达式)
    Js+XML 操作
    C++难点的一些总结
    MFC使用简单总结(便于以后查阅)
    vc中调用Com组件的所有方法详解
    OSG+VS2010+win7环境搭建---OsgEarth编译
  • 原文地址:https://www.cnblogs.com/liming19680104/p/16039779.html
Copyright © 2020-2023  润新知