halcon-boundary提取边界

在HDevelop中

4.jpg

 

 

dev_open_window(10,10,307,221,'black',WindowHandle)
read_image (Image, 'D:/bb/tu/4.jpg')
rgb1_to_gray(Image,Image1)
*将RGB图像转换为灰度图像

threshold (Image1, Region, 60, 100)

set_color(WindowHandle,'blue')

boundary (Region, RegionBorder, 'outer')
*提取边界
*参数1:要计算其边界的区域
*参数2:保存边界区域
*参数3:边界类型
*       'inner'              内边界--默认:轮廓位于原始区域内
*       'inner_filled'       内部孔的边界:
*       'outer'              外边界:轮廓位于原始区域外一个像素


dev_display (RegionBorder)

参数3是'outer'

参数3是'inner_filled'

 

 

 

 

在QtCreator中

    HObject  ho_Image, ho_Image1, ho_Region, ho_RegionBorder;
    HTuple  hv_WindowHandle;
    SetWindowAttr("background_color","black");
    OpenWindow(10,10,307,221,0,"visible","",&hv_WindowHandle);

    ReadImage(&ho_Image, "D:/bb/tu/4.jpg");
      Rgb1ToGray(ho_Image, &ho_Image1);
      //将RGB图像转换为灰度图像

    Threshold(ho_Image1, &ho_Region, 60, 100);

    SetColor(hv_WindowHandle, "blue");

    Boundary(ho_Region, &ho_RegionBorder, "outer");
      //提取边界
      //参数1:要计算其边界的区域
      //参数2:保存边界区域
      //参数3:边界类型
      //      'inner'              内边界--默认:轮廓位于原始区域内
      //      'inner_filled'       内部孔的边界:
      //      'outer'              外边界:轮廓位于原始区域外一个像素

    SetPart(hv_WindowHandle,0, 0, 221, 307);
    //修改图像在激活窗口的显示区域
    DispObj(ho_RegionBorder, hv_WindowHandle);

 

 

 

 

 

 

 

posted @ 2022-02-21 10:55  天子骄龙  阅读(1096)  评论(0编辑  收藏  举报