openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法
文章目录
- openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法
- 概述
- 解决思路
- 备注
- 补充 - 新问题 - N1吸嘴到底部相机十字中心的位置差了很多
- END
openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法
概述
自从用openpnp后, 无论版本(dev/test), 都发现一个大概率会发生的问题如下:
底部相机高级校正后, openpnp没有报错, 正常完成了底部相机高级矫正. 但是, 底部相机标尺变的非常密集, 看不清底部相机十字上的任何东西(e.g. 吸嘴, 明明吸嘴就在底部相机十字中心, 为啥底部相机高级校正后, 底部相机十字中心就看不到任何图像呢? 是一片黑啊)
如下:

此时, 将N1移动到底部相机上(底部相机高级矫正完, N1就在底部相机十字中心).

此时, 即使将底部相机缩放到最大, 也看不清N1吸嘴的图像, 如下:

因为这是一个在做底部相机高级矫正时, 会大概率发生的一个问题.
以前不懂时, 都是重新做一次底部相机高级矫正, 有时做完时, 就正常可以看清底部相机十字上的N1. 有点玄学啊:(
但是做一次底部相机高级矫正, 时间花费的巨多. 有时, 再做一次底部相机高级矫正, 正常通过后, 还是会出现看不清底部相机中的N1的问题…
不是解决问题的方法啊.
今天发现, 在设备树中的相机选项中, 可以通过裁剪有效像素的方法, 来解决这个问题.
就是说, 这只是openpnp校验流程不完善, 引起的显示问题, 并不是openpnp软件有bug.
顶部相机同理(但是顶部相机高级矫正从来没出现过矫正完成后, 看不清顶部相机十字中图像的问题)
解决思路
先打开问题向导(勾选已经解决和已经拒绝的问题选项)

但是问题列表中, 并没有看到可以将顶部相机高级矫正或底部相机高级矫正的条目, 也就没法在问题向导中, 将相机高级矫正重新reopen再做一次的可能性.
去设备树中的底部相机的高级矫正选项卡中, 看看是否有可以调整的显示选项.

发现有个剪裁有效像素的滑杆, 上图是昨晚底部相机高级矫正时, 默认的值是100%(显示所有的有效图像)
尝试将这个滑杆值减小, 有效果了, 调整到合适时, 就可以正常清晰显示底部相机十字中的吸嘴图像.
将底部相机图像缩放到最小, 这样就是底部相机能看到的所有图像.
100%的默认图像如下:

90%的默认图像如下:

80%的图像

70%的图像

60%的图像

这时, 已经可以分辨出来, 底部相机十字中间是一个N1吸嘴了.
从人眼的角度看起来, 效果好像是, 相机镜头焦点向吸嘴方向靠近(实际上相机和N1吸嘴都没动, 只是将我们看到的图像放大了, 就是将和吸嘴无关的图像都不显示了)
50%的图像

此时, 可以看到图像靠近边缘的地方有个大圈, 这个是相机中能看到的最大范围.
再调整滑杆, 直到只显示出我们关心的相机视野内的图像.
40%的图像

30%的图像

这时, 已经可以看全相机视觉中的所有图像了.
左边还有一个相机最大视野的一个小边. 不影响, 就这了.
此时, 再用鼠标中键正常缩放图像, 就可以看清底部相机十字中间的N1吸嘴了.

问题到此就解决完了.
备注
因为openpnp细节上还是有些问题的, 也算不上bug. 只是易用性不太好. 以后应该会进化的更好用.
对于openpnp新手来说, 这些易用性问题, 还是会造成一定问题的(新手不懂啊).
e.g. 如果高级矫正后, 不知道上述的解决方法, 此时, 底部相机中啥也看不清, 此时, 是否要重新来一次底部相机高级矫正? 如果经过漫长的等待, 底部相机高级矫正完成后, 还是看不清底部相机中的N1吸嘴, 此时是否要关掉底部相机高级矫正的结果, 就在没有底部相机高级矫正的情况下, 就直接贴片? 那精度如何保证?
底部相机高级矫正是解决贴头Z轴的机械安装垂直偏差的补偿的, 一定要做这步, 否则贴片精度无从谈起.
解决了上述问题后, 就可以正常带着底部相机高级矫正后的修正来生产.
补充 - 新问题 - N1吸嘴到底部相机十字中心的位置差了很多
在解决完上述问题后, 尝试将吸嘴自动移动到底部相机十字中心, 位置差了了10mm, 夸张啊.

估计是改像素剪切范围改出来的.
因为问题列表中没有重新做底部相机高级矫正的选项, 现在只能从底部相机高级矫正的页面, 进行手工底部相机高级矫正.
手工进行底部相机高级矫正后, 再将N1/N2自动移动到底部相机中心, 好使了.
第一次做, 就记录一个大概过程.


开始手工底部相机高级校正后, 相机视图下面有提示框, 照着提示框信息提示, 照着做就行.
大概要进行的步骤如下:
- 将N1移动到底部相机十字中心, 点击下一步
- 将吸嘴手工转360度, 保证都在openpnp给定的绿圈中, 点击下一步
- 选择吸嘴内部的圆圈和openpnp给定的小绿圈重合, 并微调绿圈中心和吸嘴内部中心重合, 点击下一步.
X, Y移动用JLOG面板, 小绿圈和吸嘴内壁重合的绿圈大小用手工矫正按钮下面的内径微调选择框.

基本就这几步, 然后openpnp会在2个高度进行圆的32等分测试. 然后经过漫长的操作等待, 就校验完成.
这样校验完成后, 底部相机观看正常, 校验后带修正值. 然后就可以正常贴片了.
如果发现还有啥问题再记录.
END
相关文章:
openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法
文章目录 openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法概述解决思路备注补充 - 新问题 - N1吸嘴到底部相机十字中心的位置差了很多END openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法 概述 自从用openpnp后, 无论版本(dev/test), 都发现一个大概…...
怎么提高自己当众讲话的能力?
当众讲话是一项重要的沟通技能,它可以帮助你在各种场合中表达自己的观点、影响他人,并建立自信。虽然对很多人来说,当众讲话可能是一项挑战,但通过一些实践和技巧,你可以提高自己的当众讲话能力。下面是一些方法&#…...
孙哥Spring源码第20集
第20集 refresh()-invokeBeanFactoryPostProcessor 四-处理Configuration下的Bean生成代理对象 【视频来源于:B站up主孙帅suns Spring源码视频】【微信号:suns45】 1、二行InvokeBeanFactoryPostProcessors的作用 registryProcessors:处理的…...
【计算机网络】HTTP(上)
文章目录 1.HTTP概念2. URLurlencode 和 urldecode转义规则 3. HTTP的宏观理解HTTP的请求HTTP的响应 4. 见一见HTTP请求和响应请求报头 1. 模拟一个简单的响应response响应报头 2. 从路径中获取内容ReadFile函数的实现 3.不同资源进行区分反序列化的实现ReadOneLine函数的实现P…...
Maven学习记录
一、Maven是什么 简单来说Maven是一个标准化的java管理和构建工具,它提供了一系列规范,包括项目结构,构建流程(编译,测试,打包,发布……),依赖管理等。 标准化就是定下…...
H5游戏开发H5休闲小游戏定制H5软件定制
H5游戏是一种运行在网页浏览器中的HTML5技术开发的游戏。H5休闲小游戏通常具有简单的玩法,易于上手,适合快速的娱乐。以下是开发H5休闲小游戏的一般步骤: 1. 制定游戏开发概念: 确定H5游戏开发的主题和玩法。休闲小游戏通常应该…...
Spring基础及IoC容器的理解
Spring概念: 通常所说的Spring指的是Spring Framewprk(Spring框架),它是一个开源的框架。用一句话概括就是:Spring是包含了众多工具方法的IoC容器。 什么是容器? 容器是用来容纳某种物品的装置,在之前的学习中&…...
护网行动为什么给的钱那么多
因为护网行动是国家应对网络安全问题所做的重要布局之一。 随着大数据、物联网、云计算的快速发展,愈演愈烈的网络攻击已经成为国家安全的新挑战。国家关键信息基础设施可能时刻受到来自网络攻击的威胁。网络安全的态势之严峻,迫切需要我们在网络安全领…...
软考知识汇总-计算机系统
文章目录 1 计算器 1 计算器 算术逻辑单元(ALU):运算器重要组成部件,负责处理数据,实现对数据的算数运算和逻辑运算。累加寄存器(AC):简称累加器,为ALU提供数据并暂存运…...
OpenCV 11(图像金字塔)
一、 图像金字塔 **图像金字塔**是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说, 图像金字塔是同一图像不同分辨率的子图集合. 图像金字塔最初用于机器视觉和图像压缩。其通过梯次向下采…...
Linux学习笔记-Ubuntu系统用户、群组、权限管理
一、概述 本文记录Ubuntu系统下通过命令操作用户账户进行管理。 Ubuntu系统版本: Linux ubuntu 5.15.0-1034-raspi #37-Ubuntu SMP PREEMPT Mon Jul 17 10:02:14 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux 注:查看系统版本号的指令如下 uname -…...
文章预览 安防监控/视频存储/视频汇聚平台EasyCVR播放优化小tips
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成,…...
Nand Flash的特性及烧录问题
目录 前言 一 Nand flash的特性 1 存储结构 2 OOB区域 3 位翻转 4 坏块及ECC 二 Nand系统裸片量产烧录 1 坏块处理策略 2 分区(Partition) 3 纠错码(Error Correction Codes,ECC) 4. 擦除坏块 🎈个人主页🎈:linux_嵌入式…...
【React 】useLayoutEffect 和 useEffect的区别
useLayoutEffect和useEffect是React中常用的两个Hook,它们的主要区别在于触发时机。 useEffect会在渲染完成后异步执行,不会阻塞浏览器的绘制操作。它适用于需要在组件渲染后执行副作用的情况,例如数据的获取、订阅事件等。它不会阻止屏幕更新…...
oracle数据库常见的优化步骤与脚本
要优化 Oracle 数据库的性能,可以按照以下步骤进行: 1. 性能分析和诊断:首先,使用 Oracle 提供的性能分析工具(如 AWR 报告、ASH 报告)对数据库进行分析和诊断。这些报告可以帮助您确定数据库的性能瓶颈和潜在问题。 2. 优化 SQL 查询语句:针对频繁执行的 SQL 查询语句…...
并发内存池(C++)
项目简介 这个项目是实现了一个高效的并发内存池。它的原型的goggle的一个开源项目tcmalloc,即thread-cache malloc(线程缓存的malloc),实现了高效多线程的内存管理,可实现对系统提供的内存分配函数malloc和free的替代…...
本地起一个VUE 前端项目
#安装 安装 Vue CLI 3: Vue CLI是一个用于创建和管理Vue项目的命令行工具 npm install -g vue/cli#查看更详细的告警信息 npm install -g vue/cli --verbose#检查项目的依赖关系 ,保持项目的依赖关系最新和安全 npm audit npm audit fix#查看版本 vue --version#创建…...
Python爬虫:Selenium的介绍及简单示例
Selenium是一个用于自动化Web应用程序测试的开源工具。它允许开发人员模拟用户在浏览器中的交互行为,以便自动执行各种测试任务,包括功能测试、性能测试和回归测试等。Selenium最初是为Web应用程序测试而创建的,但它也可用于Web数据抓取和其他…...
每日刷题|回溯法解决全排列问题第二弹之解决字符串、字母大小排列问题
食用指南:本文为作者刷题中认为有必要记录的题目 前置知识:回溯法经典问题之全排列 ♈️今日夜电波:带我去找夜生活—告五人 0:49 ━━━━━━️💟──────── 4:59 …...
python循环遍历字典: title_content_list.append([key, value])print(ti
示例示例Python循环遍历字典的方法有以下几种:使用for...in循环: Python循环遍历字典的方法有以下几种: 1. 使用for...in循环: python dict {name:Tom, age:20, gender:male} # 遍历所有的键 for key in dict:print(key) # 遍…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
