halcon-select_shape_std选择给定形状的区域

 

 

在HDevelop中

复制代码
read_image (Image, 'D:/bb/tu/4.jpg')
rgb1_to_gray(Image,Image1)
threshold (Image1, Region,[80,87,206,195] , [90,100, 228,205])

select_shape_std (Region, SelectedRegions, 'max_area', 70)
*选择给定形状的区域
*参数1:区域集
*参数2:输出区域
*输出3:形状特征
*       'max_area'        面积最大的区域
*       'rectangle1'   通过smallest_rectangle1计算区域的最小外接平行矩形,如果计算出的区域与原区域面积百分比大于参数4 ,则此区域选中输出
*       'rectangle2'   通过smallest_rectangle2计算区域的矩形,如果计算出的区域与原区域面积百分比大于参数4 ,则此区域选中输出
*参数4:相似度百分比 

get_image_size (Image1, Width, Height) dev_open_window(
10,10,Width, Height,'black',WindowHandle) dev_display(SelectedRegions)
复制代码

 

 

 


在Qt Creator中

  HObject  ho_Image, ho_Image1, ho_Region, ho_SelectedRegions;
  HTuple  hv_Width, hv_Height, hv_WindowHandle;
复制代码
  ReadImage(&ho_Image, "D:/bb/tu/4.jpg");
  Rgb1ToGray(ho_Image, &ho_Image1);
  Threshold(ho_Image1, &ho_Region, (((HTuple(80).Append(87)).Append(206)).Append(195)), 
      (((HTuple(90).Append(100)).Append(228)).Append(205)));

  SelectShapeStd(ho_Region, &ho_SelectedRegions, "max_area", 70);
  //选择给定形状的区域
  //参数1:区域集
  //参数2:输出区域
  //输出3:形状特征
  //      'max_area'        面积最大的区域
  //      'rectangle1'   通过smallest_rectangle1计算区域的最小外接平行矩形,如果计算出的区域与原区域面积百分比大于参数4 ,则此区域选中输出
// 'rectangle2'  通过smallest_rectangle2计算区域的矩形,如果计算出的区域与原区域面积百分比大于参数4 ,则此区域选中输出
 
//参数4:相似度百分比

GetImageSize(ho_Image1, &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_SelectedRegions, HDevWindowStack::GetActive());
复制代码

 

 

 

 

posted @   天子骄龙  阅读(1274)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航