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

Halcon彩图阈值分割、腐蚀和膨胀、顶帽和底帽处理、求图像边界轮廓

*彩图阈值分割:

•彩图转灰图:rgb1_to_gray ()
•从彩图当中提取3个通道的图像:decompose3 ()
•合并两个通道的算子:compose2()
•合并三个通道的算子,又合并为之前的彩图:compose3()
•获取图像是有几个通道组成的:count_channels ()
•通过索引值提取通道对应的图像:access_channel ()
•展示图像:dev_display()
*// 读取一张照片 read_image (Image1, 'claudia') *// 彩图转灰图 rgb1_to_gray (Image1, GrayImage) *// 从彩图当中提取3个通道的图像 decompose3 (Image1, Image11, Image2, Image3) *// 合并多个通道的图像 compose2 (Image11, Image2, MultiChannelImage)//compose2合并两个通道的算子 compose3 (Image11, Image2, Image3, MultiChannelImage1)//compose3合并三个通道的算子,又合并为之前的彩图 *// 展示合并之后的图像 dev_display (MultiChannelImage1) *// 获取图像是有几个通道组成的 count_channels (MultiChannelImage1, Channels)//3 *// 通过索引值提取通道对应的图像 access_channel (Image1, Image4, 3)

*腐蚀和膨胀:

•圆形的腐蚀 :erosion_circle ()
•形态学膨胀:dilation_circle ()
•形态学开运算(先腐蚀后膨胀):opening_circle ()
•形态学闭运算(先膨胀后腐蚀):closing_circle ()
*// 获取照片 read_image (Image, 'pcb_layout') *// 阈值分割 threshold (Image, Region, 0, 128) *// 圆形的腐蚀 半径是3.5 erosion_circle (Region, RegionErosion, 3.5) *// 形态学膨胀 dilation_circle (Region, RegionDilation, 3.5) *// 形态学开运算(先腐蚀后膨胀) opening_circle (Region, RegionDilation, 3.5) *// 形态学闭运算(先膨胀后腐蚀) closing_circle (RegionDilation, RegionClosing, 3.5)

*顶帽和底帽:

•创建一个顶帽的参考图:gen_disc_se()
•获取某个点灰度值的算子:get_grayval()
•灰度顶帽变换:gray_tophat()
•灰度开运算:gray_opening ()
•灰度底帽变换:gray_bothat ()
•灰度闭运算:gray_closing()
* ============================================== *// 顶帽(gray_tophat) & 底帽(gray_bothat) 原理验证 *// 顶帽公式:ImageTopHat = Image - ImageOpening (开运算) *// 底帽公式:ImageBottomHat = ImageClosing (闭运算) - Image * ============================================== *// 清空窗体 dev_clear_window () *// 获取照片 read_image (Image, 'printer_chip/printer_chip_01') *// 获取图片大小 get_image_size (Image, Width, Height) *// 显示图片 dev_display (Image) *// 创建一个顶帽/底帽的参考图(结构元素) *// byte: 图像的类型,字节类型 *// 21, 21: 参考图的大小 *// 10: 圆盘的半径 *// 255: 参考图的颜色灰度值 gen_disc_se (SE, 'byte', 21, 21, 255) *// ============ 顶帽操作验证 ============ *// 对图像进行顶帽操作 *// 参数1 目标图像进行顶帽处理 *// 参数2 结构图 可以通过gen_disc_se创建一个结构图 *// 参数3 顶帽之后的图像 gray_tophat (Image, SE, ImageTopHat) *// 灰度的开运算 gray_opening (Image, SE, ImageOpening)//21*21 *// 计算差值图像:Image - ImageOpening sub_image (Image, ImageOpening, ImageDiff1, 1, 0) *// 显示顶帽操作结果 dev_display (ImageTopHat) *// 显示差值 dev_display (ImageDiff1) *// ============ 底帽操作验证 ============ *// 对图像进行底帽操作 gray_bothat (Image, SE, ImageBotHat) *// 闭运算(用于验证) gray_closing (Image, SE, ImageClosing) *// 计算差值图像:ImageClosing - Image sub_image (ImageClosing, Image, ImageDiff2, 1, 0) *// 显示底帽操作结果 dev_display (ImageBotHat) *// 显示差值 dev_display (ImageDiff2) *// ============ 灰度值验证 ============ *// 选择中心点进行验证 Row := Height/2 Col := Width/2 *// 获取各个图像的灰度值 get_grayval (Image, Row, Col, Grayval_Original) get_grayval (ImageOpening, Row, Col, Grayval_Opening) *// ============ 应用示例 ============ *// 顶帽应用:提取亮的小物体(比如芯片上的标记) *// 通过顶帽增强原始图像中的亮细节 add_image (Image, ImageTopHat, ImageEnhanced1, 1, 0) *// 底帽应用:提取暗的小物体(比如缺陷) *// 通过底帽增强原始图像中的暗细节 add_image (Image, ImageBotHat, ImageEnhanced2, 1, 0)

*求边界轮廓:

•裁剪图像:reduce_domain()
•找外边界轮廓:boundary (, , 'outer')

*// 获取图片//--------------------- read_image (Image, 'fabrik') *// 阈值//--------------------- threshold (Image, Region, 80, 110) *// 连通//--------------------- connection (Region, ConnectedRegions) *// 面积筛选//--------------------- select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 40000, 99999) *// 形态学处理//--------------------- *// 打开运算 先腐蚀后膨胀, *// 参数1 对目标区域进行开运算 *// 参数2 开运算之后的 *// 参数3 腐蚀形状的半径 opening_circle (SelectedRegions, RegionOpening, 3.5) *// 形状变换的算子 把开运算之后的图像进行变换成其他形状//--------------------- *// 'rectangle1' 转换的形状类型 矩形 shape_trans (RegionOpening, RegionTrans, 'rectangle1') *// 裁剪图像 根据形状变换之后的矩形来去裁剪//--------------------- reduce_domain (Image, RegionTrans, ImageReduced) *// 阈值//--------------------- threshold (ImageReduced, Region1, 80, 255) *// 找内边界轮廓//--------------------- boundary (Region1, RegionBorder, 'inner') *// 找外边界轮廓//--------------------- boundary (Region1, RegionBorder2, 'outer')

希望对大家有所帮助, 感谢大家的关注和点赞。

http://www.jsqmd.com/news/289898/

相关文章:

  • Halcon图像滤波:均值滤波、中值滤波、高斯滤波、高通滤波、标准差滤波
  • 【必藏】零代码实现!告别AI幻觉,搭建专属知识库的RAG实战教程
  • 【强烈收藏】AI Agent全栈开发之路(15):RAG技术详解与向量模型实战
  • 【爆点实战】Spring AI电商客服RAG系统,双Advisor精准解答退换货、物流问题!代码收藏必学!
  • 云平台一键部署【Tencent-YouTu-Research/Youtu-LLM-2B】具备原生智能体能力
  • RAG系统效果差?真正决定成败的竟然是检索与生成之间的隐藏层!收藏这篇深度解析
  • 救命神器10个AI论文写作软件,本科生搞定毕业论文!
  • Java基于Spring Boot+Vue的走散儿童救助信息管理系统的设计与实现
  • Java基于Spring Boot+Vue的学生宿舍管理系统的设计于实现
  • 2026年GEO优化服务商数据监测能力对比:谁才是真正的_数据驱动_?
  • 2026主管药师考试备考资料推荐:3大数据维度测评+全阶段资料对比排行
  • AI Agent从零搭建全流程:手把手教你构建智能助手(附完整代码+避坑指南,建议收藏)
  • 2026主管药师考试备考资料测评:3家主流机构8类资料实测对比排行
  • 【建议收藏】RAG工程化实践:六大模块详解,解决效果/成本/稳定性难题
  • 专业企业心理测评系统推荐:2026这个平台如何破解企业EAP传统困境?
  • 2026年1月成都清洁用品、清洁工具、拖把、尘推、垃圾袋厂商深度测评与选型推荐报告
  • 【必藏】AI智能体全攻略:从架构设计到实战应用,一篇读懂Agent核心技术与未来趋势
  • 2026 年,GEO 优化如何选?风信子传媒:以“内容生态+智能分发”重塑品牌 AI 认知
  • 2026年十大外贸ERP软件深度测评与选型白皮书
  • 2026必备!MBA论文写作痛点全解析:TOP9一键生成论文工具深度测评
  • 2026年电线电缆厂家推荐排行榜:高温/低烟无卤/铁氟龙/硅胶/PVC/XLPE辐照/医疗/AI/无人机/机器人/线束加工/定制电线电缆,精选耐用高质品牌!
  • IROS 2025|NOKOV度量动捕助力多智能体深度强化学习算法实现Crazyflie无人机在复杂环境中协同追逐
  • 高效聚酯成核剂供应商与企业推荐
  • 2026年GEO优化服务商性价比对比:10万预算如何选出最优解?
  • 引入实时 3D 渲染技术,地平线与 Unity 开启车载交互空间化时代 - 指南
  • 氧含量分析仪实力厂家大盘点:行业十大厂家技术实力哪家强?
  • 企业心理测评系统排行榜:2026年AI大模型如何重塑职场心理健康?
  • 【论文自动阅读】Fast-ThinkAct: Efficient Vision-Language-Action Reasoning via Verbalizable Latent Planning
  • 54分钟长视频自动剪,公众号撰写发布全自动,豆包大模型1.8直播干货来了!
  • AI产品经理全解析:从历史背景到入行指南,小白转行必看_如何成为人工智能(AI)产品经理