halcon-elliptic_axis计算区域的等效椭圆数据

 

在HDevelop中

复制代码
dev_close_window ()
dev_update_off()

read_image (Image, 'D:/bb/tu/4.png')
get_image_size (Image, Width, Height)
rgb1_to_gray(Image,Image1)
threshold (Image1, Region, 70, 100)

elliptic_axis (Region, Ra, Rb, Phi)
*作用:计算区域的等效椭圆数据
*参数1:输入区域
*参数2:输出主半径
*参数3:输出次半径
*参数4:输出主半径和X轴的夹角(以弧度为单位  - pi / 2 < Phi && Phi <= pi / 2*计算与输入区域具有相同方向和相同宽高比的椭圆的半径Ra和Rb以及方向Phi,多个输入区域可以作为数组传递

dev_open_window(10,10,Width, Height,'black',WindowHandle)

gen_ellipse (Ellipse, Height/2, Width/2, Phi, Ra, Rb)

dev_display(Ellipse)
复制代码

 

 


在Qt Creator中

  HObject  ho_Image, ho_Image1, ho_Region, ho_Ellipse;
  HTuple  hv_Width, hv_Height, hv_Ra, hv_Rb, hv_Phi;
  HTuple  hv_WindowHandle;

 

复制代码
  ReadImage(&ho_Image, "D:/bb/tu/4.png");
  GetImageSize(ho_Image, &hv_Width, &hv_Height);
  Rgb1ToGray(ho_Image, &ho_Image1);
  Threshold(ho_Image1, &ho_Region, 70, 100);

  EllipticAxis(ho_Region, &hv_Ra, &hv_Rb, &hv_Phi);
  //作用:计算区域的等效椭圆数据
  //参数1:输入区域
  //参数2:输出主半径
  //参数3:输出次半径
  //参数4:输出主半径和X轴的夹角(以弧度为单位  - pi / 2 < Phi && Phi <= pi / 2)
  //计算与输入区域具有相同方向和相同宽高比的椭圆的半径Ra和Rb以及方向Phi,多个输入区域可以作为数组传递

  SetWindowAttr("background_color","black");
  OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle);
  HDevWindowStack::Push(hv_WindowHandle);

  GenEllipse(&ho_Ellipse, hv_Height/2, hv_Width/2, hv_Phi, hv_Ra, hv_Rb);

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

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(470)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示

目录导航