halcon-dev_set_line_width设置region,contour输出的线宽

在HDevelop中

复制代码
dev_open_window(10,10,600,300,'black',WindowHandle)
dev_set_line_width (3)
*设置region,contour输出的线宽

*****坐标数组****
rows1:=[20,100,100,20,20]
cols1:=[20,20,250,250,20]
radius:=[20,20,20,20,20]
rows2:=[20,20,100,100,20]
cols2:=[320,550,550,320,320]
*注意:坐标数组的第一个值和最后一个值相同,用以形成一个封闭的多边形轮廓

gen_contour_polygon_rounded_xld (Contour, rows1, cols1, radius, 1)
*创建带圆角的多边形轮廓,坐标和圆角可以通过数组的形式指定
*参数1:输出轮廓
*参数2:多边形的行坐标
*参数3:多边形的列坐标
*参数4:圆角的半径
*参数5:样本的距离

gen_contour_polygon_xld (Contour1, rows2, cols2)
*不带圆角的多边形轮廓

dev_display (Contour)
dev_display (Contour1)
复制代码

 

 


在QtCreator中

  HObject  ho_Contour, ho_Contour1;
  HTuple  hv_WindowHandle, hv_rows1, hv_cols1, hv_radius;
  HTuple  hv_rows2, hv_cols2;
复制代码
  SetWindowAttr("background_color","black");
  OpenWindow(10,10,600,300,0,"visible","",&hv_WindowHandle);
  HDevWindowStack::Push(hv_WindowHandle);
  if (HDevWindowStack::IsOpen())
    SetLineWidth(HDevWindowStack::GetActive(),3);
  //设置region,contour输出的线宽

  //****坐标数组****
  hv_rows1.Clear();
  hv_rows1[0] = 20;
  hv_rows1[1] = 100;
  hv_rows1[2] = 100;
  hv_rows1[3] = 20;
  hv_rows1[4] = 20;
  hv_cols1.Clear();
  hv_cols1[0] = 20;
  hv_cols1[1] = 20;
  hv_cols1[2] = 250;
  hv_cols1[3] = 250;
  hv_cols1[4] = 20;
  hv_radius.Clear();
  hv_radius[0] = 20;
  hv_radius[1] = 20;
  hv_radius[2] = 20;
  hv_radius[3] = 20;
  hv_radius[4] = 20;
  hv_rows2.Clear();
  hv_rows2[0] = 20;
  hv_rows2[1] = 20;
  hv_rows2[2] = 100;
  hv_rows2[3] = 100;
  hv_rows2[4] = 20;
  hv_cols2.Clear();
  hv_cols2[0] = 320;
  hv_cols2[1] = 550;
  hv_cols2[2] = 550;
  hv_cols2[3] = 320;
  hv_cols2[4] = 320;
  //注意:坐标数组的第一个值和最后一个值相同,用以形成一个封闭的多边形轮廓

  GenContourPolygonRoundedXld(&ho_Contour, hv_rows1, hv_cols1, hv_radius, 1);
  //创建带圆角的多边形轮廓,坐标和圆角可以通过数组的形式指定
  //参数1:输出轮廓
  //参数2:多边形的行坐标
  //参数3:多边形的列坐标
  //参数4:圆角的半径
  //参数5:样本的距离

  GenContourPolygonXld(&ho_Contour1, hv_rows2, hv_cols2);
  //不带圆角的多边形轮廓

  if (HDevWindowStack::IsOpen())
    DispObj(ho_Contour, HDevWindowStack::GetActive());
  if (HDevWindowStack::IsOpen())
    DispObj(ho_Contour1, HDevWindowStack::GetActive());
复制代码

 

 

 

 

 

 

 

 

 

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

目录导航