Halcon Solution Guide I basics(4.1): Blob Analysis 自主练习

文章目录

  • 文章专栏
  • 前言
  • 自主练习
    • 题目
      • 输出电路板焊点个数
        • 解决方案:正确率:90

文章专栏

我的Halcon开发 CSDN 专栏

Halcon学习 练习项目gitee仓库

CSDN Major 博主Halcon文章推荐

随笔分类 - Halcon入门学习教程

前言

为了更加熟练的掌握Halcon的练习,我之后每个章节都会给我自己出1道小题目,来熟悉halcon代码

自主练习

我们按照halcon教程的三大步开始写

* ----读取图片* ----图像处理* ----打印参数

在这里插入图片描述

题目

输出电路板焊点个数

在这里插入图片描述

解决方案:正确率:90

难点:明亮对比太差

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

* ----读取图片
read_image (Image, '../images/circuit_board_5')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
* 因为是彩色图像,三通道处理
decompose3 (Image, Image_r, Image_g, Image_b)
* 根据结果,R通道的对比最强烈
Image_res := Image_r
* ----图像处理
* 找到亮面
threshold (Image_res, Region, 70, 255)
* [圆形腐蚀],去掉噪点
opening_circle (Region, RegionOpening,5.5)
* [漏点补充]
fill_up_shape (RegionOpening, RegionFillUp, 'area', 1, 100)
* [连通性离散]
connection (RegionFillUp, ConnectedRegions)
* 面积筛选
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 250, 1000)
* 获取中心的坐标
area_center (SelectedRegions, Area, Row, Column)* ----打印参数
dev_display (Image)
dev_display (SelectedRegions)for i := 0 to |Area| -1 by 1disp_message (WindowHandle, i, 'window', Row[i], Column[i], 'black', 'true')
*     disp_cross (WindowHandle, Row, Column, 6, 0)
endfor
msg := 'points count' + |Area|
disp_message (WindowHandle, msg, 'window', 12, 12, 'black', 'true')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/173229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM实现的叮当书城

一、系统架构 前端:jsp | jquery | layui 后端:spring | springmvc | mybatis 环境:jdk1.7以上 | mysql | maven 二、代码与数据库 三、功能介绍 01. 系统首页 02. 商品分类 03. 热销 04. 新品 05. 注册 06. 登录 07. 购物车 08. 后台-首页 …

Grafana采用Nginx反向代理

一、场景介绍 在常规操作中,一般情况下不会放开许多端口给外部访问,特别是直接 ip:port 的方式开放访问。但是 Grafana 的请求方式在默认情况下是没有任何规律可寻的。 为了满足业务需求(后续通过 Nginx 统一一个接口暴露 N 个服务&#xf…

解决Vue编程式导航路由跳转不显示目标路径问题

我们配置一个编程式导航的路由跳转,跳转到 /search 页面,并且携带categoryName和categoryId两个query参数。 this.$router.push({path: "/search",query: {categoryName: dataset.categoryname,categoryId: dataset.categoryid} }) 如果我们…

霍夫丁不等式(Hoeffding‘s inequality)

参考资料:Hoeffdings inequality | encyclopedia article by TheFreeDictionary 霍夫丁不等式(Hoeffdings inequality)描述了随机变量的和、与和的期望之差的上限;或者表述为:随机变量的均值、与均值的期望之差的上限。…

2017年五一杯数学建模B题自媒体时代的消息传播问题解题全过程文档及程序

2017年五一杯数学建模 B题 自媒体时代的消息传播问题 原题再现 电视剧《人民的名义》中人物侯亮平说:“现在是自媒体时代,任何突发性事件几分钟就传播到全世界。”相对于传统媒体,以互联网技术为基础的自媒体以其信息传播的即时性、交往方式…

LeetCode198.打家劫舍

打家劫舍和背包问题一样是一道非常经典的动态规划问题,只要做过几道动态规划的题,这道题简直就非常容易做出来。我应该花了10来分钟左右就写出来了,动态规划问题最重要的就是建立状态转移方程,就是说如何从上一个状态转移到下一个…

【开源】基于Vue+SpringBoot的独居老人物资配送系统

项目编号: S 045 ,文末获取源码。 \color{red}{项目编号:S045,文末获取源码。} 项目编号:S045,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询社区4…

浏览器中实现可视化的方式有哪几种?带你盘点一下

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 可视化的含义 浏览器中实现可视化的4种方式 1. HTMLCSS 2. SVG …

springboot 自动配置

1. O(∩_∩)O 对应功能的starter --autoconfigure --寻找autoconfigure的META-INF/spring/org.springframework.boot.autoconfigure.Autoconfiguration.imports–加载所有自动配置类 自动配置类的作用:提供后续所需要的功能组件 在自动配置类中找到注解EnableConf…

A100 A800 H100 H800 模块

老美对A100、A800、H100和H800在内的多款AI芯片实施了出口限制, 目前,具体限制的时长并没有明确的公开信息。 科研人员在面对此类限制 ,可能需要寻找替代的供应渠道,加强国内外合作, 或者加大在本土技术研发的投入&a…

如何查看电脑版Office的有效期

有时候点击Office账户看不到有效期信息,那么如何查看呢,其实用一条命令就可以查看。 首选WinR运行,输入cmd回车,然后输入下面的命令: cscript “C:\Program Files\Microsoft Office\Office16\ospp.vbs” /dstatus当然…

Java游戏制作——王者荣耀

一.准备工作 首先创建一个新的Java项目命名为“王者荣耀”,并在src下创建两个包分别命名为“com.sxt"、”com.stx.beast",在相应的包中创建所需的类。 创建一个名为“img”的文件夹来储存所需的图片素材。 二.代码呈现 package com.sxt;import javax.sw…

物联网AI 无线连接学习之蓝牙基础篇 协议概述

学物联网,来万物简单IoT物联网!! 1 蓝牙协议总体架构 1.1 Application层 应用属性层,通过API函数与协议栈交互; 1.2 Host层 Host层,逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置…

Java8实战-总结49

Java8实战-总结49 CompletableFuture:组合式异步编程对多个异步任务进行流水线操作构造同步和异步操作将两个 CompletableFuture 对象整合起来,无论它们是否存在依赖 CompletableFuture:组合式异步编程 对多个异步任务进行流水线操作 构造同…

【开源】基于Vue+SpringBoot的企业项目合同信息系统

项目编号: S 046 ,文末获取源码。 \color{red}{项目编号:S046,文末获取源码。} 项目编号:S046,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 合同审批模块2.3 合…

深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs

来自:探索云原生 https://www.lixueduan.com 原文:https://www.lixueduan.com/posts/docker/03-container-core/ 通过这篇文章你可以了解到 Docker 容器的核心实现原理,包括 Namespace、Cgroups、Rootfs 等三个核心功能。 后续文章会演示如…

install pnpm : 无法加载文件的解决办法

问题描述 我在使用pnpm的时候报错 PS D:\emss\pure-admin-backend> pnpm install pnpm : 无法加载文件 C:\Users\RD-16\AppData\Roaming\npm\pnpm.ps1。未对文件 C:\Users\RD-16\AppData\Roaming\npm\pnpm.ps1 进行数字签名。无法在当前系统上运 行该脚本。有关运行脚本和设…

网络篇---第二篇

系列文章目录 文章目录 系列文章目录前言一、说说 TCP 与 UDP 的区别,以及各自的优缺点二、说一下 HTTP 和 HTTPS 的区别三、说说HTTP、TCP、Socket 的关系是什么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…

【腾讯云云上实验室】用向量数据库—实践相亲社交应用

快速入口 👉向量数据库_大模型知识库_向量数据存储_向量数据检索- 腾讯云 (tencent.com) 文章目录 前言1. 向量数据库概念及原理1.1 向量数据库概念1.2 向量数据库核心原理1.3 向量数据库优缺点1.4 向量数据库与传统数据库的区别 2. 腾讯云向量数据库的基本特性及优…