基于Halcon光心检测算法

2023-10-12 13:59
文章标签 算法 检测 halcon 光心

本文主要是介绍基于Halcon光心检测算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

光心检测算法思路有两种:

1.通过灰度值检测,利用了模组的shading信息,将图片进行3*3区域均值划分,然后将所有均值相等的块block进行connection,然后寻找多边形的质心。

2.直接求取图片的亮度的重心。

算法思路很简单,但实际项目中要求检测算法要有很高的精度,控制在2pixel。此时就要加入计算结果过程的控制,这才是重点。

CS-DN的字数字数审查:

附录其他方法:

光心,是厚透镜近轴光线中,入射线和与其对应且相平行的出射线构成共轭光线,其入射点与出射点的连线和主光轴的交点,称为厚透镜的光心。焦距,也称为焦长,是光学系统中衡量光的聚集或发散的度量方式,指从透镜中心到光聚集之焦点的距离。亦是照相机中,从镜片光学中心到底片、CCD或CMOS等成像平面的距离。具有短焦距的光学系统比长焦距的光学系统有更佳聚集光的能力。焦点,在物理学上指平行光线经透镜折射或曲面镜反射后的会聚点,在数学上指二次曲线的焦点

光心

optical center

凹透镜的光心就是两折射面中心重合之点,也是节点和主点的重合之点。当物方和象方空间媒质折射率相同时,通过凹透镜光心的入射点与出

射点的连线和主光轴的交点,称为厚透镜的光心。

从图中可知:O为光心,F为焦点。每个透镜主轴上都有一个特殊点,凡是通过该点的光,其传播方向不变,这个点叫光心。

特点:经过光心的光线的传播方向不会发生改变

1公开一种摄像头光心测试方法,包括以下步骤:准备好测试架和TV显微镜;使LED面板固定板,测试Chart图固定板和模组固定板为水平设置;在LED面板固定板上放置LED面板,在测试Chart图放置孔内放置测试Chart图,把模组放到模组固定支架内,通过快速压紧机构下压把模组压紧;启动LED面板的光源,把TV显微镜滑动到指定位置进行观察测试Chart图中心的"十字线",镜头组的光心和芯片的中心重合情况来判断产品是否合格;检测完后把快速压紧机构和TV显微镜复位,取出测试完的模组放到指定位置即可.本发明采用测试架来固定模组,测试Chart图和LED面板光源,通过TV显微镜来测试模组是否合格;其测试方法简单,操作方便,检测准确,解决了摄像头的模组测试不准确的问题。

2公开一种镜头光心的检测方法及装置,其中,镜头光心的检测方法包括以下步骤:获取所述镜头拍摄标准图像所得的成像图像,其中,所述标准图像为单色均匀图像;在所述成像图像中选取至少两个感兴趣区域,其中,所述感兴趣区域对应的子成像图像为非均匀图像;确定各所述感兴趣区域的明暗交界位置;根据各所述感兴趣区域在所述成像图像中的位置以及各所述感兴趣区域的明暗交界位置,确定所述镜头的光心.本发明技术方案提高了镜头光心检测的准确性

这篇关于基于Halcon光心检测算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/196323

相关文章

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时