当前位置: 首页 > article >正文

C#Halcon扇形/圆环缺陷检测(极坐标变换法)

扇形交互绘制与极坐标变换插件(加载图像—绘制扇形—极坐标变换—图像返回:运行效果)

应用场景:缺陷检测,OCR识别,二维码识别,辅助定位等场景

绘制扇形:原型算子create_drawing_object_circle_sector||create_drawing_object_ellipse_sector 

本次Demo小编用的是标准圆形绘制的扇形,目的是为了后面极坐标变换

如果不涉及极坐标变换,可以采用椭圆扇形

源码原理参考

Halcon人机交互绘图方式

扇形区域转矩形区域:原型算子polar_trans_image_ext

 HOperatorSet.GenEmptyObj(out ho_PolarTransImage);
 if(hv_end_angle< hv_start_angle)
 {
     HTuple  ExpTmpLocalVar_start_angle = hv_start_angle - ((new HTuple(360)).TupleRad());
     hv_start_angle.Dispose();
     hv_start_angle = ExpTmpLocalVar_start_angle;

 }

 double hv_ContouWidth = (hv_end_angle - hv_start_angle) * hv_ra;
double hv_ContouHeight = StepLength * 2;
 HOperatorSet.GenEmptyObj(out ImageSector);
 HOperatorSet.ReduceDomain(HIMage, ho_RegionSector, out ImageSector);
 ho_PolarTransImage.Dispose();
 HOperatorSet.PolarTransImageExt(ImageSector, out ho_PolarTransImage, hv_R_Centr,
     hv_C_Centr, hv_end_angle, hv_start_angle, hv_ra + StepLength, hv_ra - StepLength,
     hv_ContouWidth, hv_ContouHeight, "bilinear");
 HW.ClearWindow();
 FitImage(ho_PolarTransImage, hWC);

矩形区域转扇形区域:原型算子polar_trans_region_inv

 HOperatorSet.GenEmptyObj(out ho_XYTransImage);
 ho_XYTransImage.Dispose();
 HOperatorSet.PolarTransImageInv(ho_PolarTransImage, out ho_XYTransImage, hv_R_Centr,
     hv_C_Centr, hv_end_angle, hv_start_angle, hv_ra + StepLength, hv_ra - StepLength,
     width, height, "nearest_neighbor");

 HW.ClearWindow();
 FitImage(ho_XYTransImage, hWC);

源码原理参考

Halcon 极坐标变换

原文地址:https://blog.csdn.net/2202_75557553/article/details/145398424
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/526369.html

相关文章:

  • 剑指 Offer II 010. 和为 k 的子数组
  • 设计模式Python版 建造者模式
  • 登录管理——认证方案(JWT、拦截器、ThreadLocal、短信验证)
  • 数据采集丨豆瓣电影详细数据的采集与可视化分析(scrapy+mysql+matplotlib+flask)
  • 遗传算法【Genetic Algorithm(GA)】求解函数最大值(MATLAB and Python实现)
  • 零碎的知识点(十二):卷积神经网络CNN通道数的理解!
  • 光伏设计新利器:绿虫仿真设计软件的优势
  • 【教学类-89-04】20250130新年篇04——九叠篆印章(九叠篆站+Python下载图片+Python组合文字)幼儿名字印章
  • CAPL学习资源推荐
  • 7层还是4层?网络模型又为什么要分层?
  • 乐理笔记——DAY02
  • 【深度分析】微软全球裁员计划不影响印度地区,将继续增加当地就业机会
  • 【浏览器 - Mac实时调试iOS手机浏览器页面】
  • AI DeepSeek-R1 Windos 10 环境搭建
  • 数据库简介-01
  • JavaScript 进阶(下)
  • 全国31省空间权重矩阵(地理相邻空间、公路铁路地理距离空间、经济空间)权重矩阵数据-社科数据
  • 【ComfyUI专栏】如何使用Git命令行安装非Manager收录节点
  • 下载一个项目到跑通的大致过程是什么?
  • Win10安装MySQL、Pycharm连接MySQL,Pycharm中运行Django