openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素
文章目录
- openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素
- 概述
- 笔记
- 设置后的顶部相机效果
- 设置后的底部相机效果
- 备注
- END
openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素
概述
用自己编译的基于openpnp-dev-2024-0208版本,在标定设备。

顶部相机Z轴径向线的数量为默认的32
底部相机Z轴径向线的数量改为40(默认的32校正失败)

校正完成后,默认的顶部相机和底部相机的图像都变成了鱼眼形状,如果不放大,看不清图像。

对于顶部相机,放大到最大倍数,一般可以看清楚图像是啥,但是也没有顶部相机高级校正前看的清楚。

如果芯片管脚贴歪了,在顶部相机高级校正后,根本看不清。
对于底部相机高级校正,放大到最大倍数,能勉强辨认。但是和底部相机高级校正前的图像效果那是差了好远。
但是这次标定完,即使底部相机放大到最大的图像,看到的图像也无法分辨。
既然人眼无法分辨,那么openpnp用于视觉识别的图像也是如此,导致底部相机高级校正后,视觉归位中的吸嘴校验失败(因为根本就分辨不出是个吸嘴,只能看到是个绿色的大圆点,且这个大圆点还不怎么圆…).

以前遇到这种情况,做过一个笔记(openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法)。
当时就是为了解决在底部相机高级校正之后,底部相机看不清图像的问题。
但是我顶部相机有需求要看清啊(贴片之后,贴的效果如何,我要去人工抽检啊),不能因为做了相机(底部相机/底部相机)高级校正,相机的图像就看不清了,这有点违反了高级校正的本意了。
前段时间,遇到顶部相机看不清元件是否贴歪的场景,还临时去将高级校正应用先关掉,观察完,再应用高级校正。感觉这个临时措施不科学。看个东西,就要去开关高级校正应用的开关,这谁受的了啊。
得解决这个贴片的应用问题啊。
笔记
试了一下,在顶部相机/底部相机高级校正后,将顶部相机/底部相机的"裁剪所有无效像素"值都设置为0,就可以达到和顶部相机/底部相机高级校正前一样的效果。这感觉是正道啊。
将顶部相机/底部相机的"裁剪所有无效像素"值都设置为0,并不会影响已经通过的高级校正参数的纠偏应用。
只是将"无效像素都裁剪掉",看到的效果就是相机高级校正之前的效果。
但是在相机高级校正后,已经将设备机械安装的倾斜都纠正了(人工安装的零件,谁能保证安装的绝对垂直呢?)。反正做相机高级校正,好处多多。
设置后的顶部相机效果

只放大到关心元件的区域效果

放大到最大的效果
最大的图像,就是摄像头能看到的图像区域。

设置后的底部相机效果

只放大到关心元件的区域效果

放大到最大的效果
最大的图像,就是摄像头能看到的图像区域。

备注
将顶部相机/底部相机的"裁剪所有无效像素"值都设置为0,心里舒服多了。
这个问题困扰我好久,以至于我怀疑openpnp有bug 😛, 曾经一度不信任最新的openpnp发行版,还特意用了一段时间的openpnp-dev-2022-0801的版本。
现在我就有勇气用openpnp2.0的任何版本了, 不是软件有bug, 是小白不会用.
如果有时间,我也有勇气去尝试用openpnp的测试版,只不过,测试版有时会导致.openpnp2的配置文件不兼容。
这么长时间的openpnp使用体验后,终于知道,openpnp软件是没bug的(站在openpnp的使用者的角度看)。
END
相关文章:
openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素
文章目录 openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素概述笔记设置后的顶部相机效果设置后的底部相机效果 备注END openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素 概述 用自己编译的基于openpnp-…...
Vue+TypeScript+SpringBoot的WebSocket基础教学
成品图: 对WebSocket的理解(在使用之前建议先了解Tcp,三次握手,四次挥手 ): 首先页面与WebSocket建立连接、向WebSocket发送信息、后端WebSocket向所有连接上WebSoket的客户端发送当前信息。 推荐浏览网站…...
大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全
大家现在访问网络,浏览网页,注意一下的话,网址前面基本上都是一个 https:// 的前缀,这里就是说明这个网址所采用的协议是 https 协议。那么具体应该怎么理解 https 呢? 本文我们就力争能清楚地解释明白这个我们目前应该最广的协议。 理解HTTP协议 要解释 https 协议,当…...
13图书归还-云图书管理系统(Vue3+Spring Boot+element plus)
目录 1 接口地址2 后台代码RecordControllerBookController 3 view/books/BookRecordsVue中前端框架搭建4 api/record.js文件写查询用户借阅记录的接口代码5 api/book.js中写归还图书、查询当前借阅图书接口代码6 BookRecordsVue中导入接口函数,并调用7 运行效果 1 …...
中航资本:“女人的茅台”重挫!超7700亿元英伟达概念业绩爆发
今天早盘首要指数强势震动,申万一级工作指数跌多涨少,通讯指数涨逾1%居首。概念方面,存储器、动保、重组等概念板块涨幅居前。存储概念大涨首要仍是AI方向又有好消息,市值逾越7700亿元的英伟达概念龙头SK海力士发布效果超预期财报…...
day7:软件包管理
一,软件包概述 软件包概述 软件包用于安装,升级,卸载一个软件 软件包类型 二进制包 源码经过了编译(而且成功了)后产生的包,二进制包是linux下默认的安装包 编译好的文件,直接使用ÿ…...
探索Konko AI:快速集成大语言模型的最佳实践
探索Konko AI:快速集成大语言模型的最佳实践 引言 随着大语言模型(LLM)的普及,如何快速方便地集成这些模型成为众多开发者关注的焦点。Konko AI 提供了一个全面管理的 API,使开发者能够选择合适的开源或专有大语言模…...
网络地址和本地网络地址
本地网络地址(Local Network Address,简称 LNA)是指在一个子网内用于标识特定主机的部分。在 IPv4 地址中,一个完整的 IP 地址由两部分组成:网络地址部分(Network Address)和本地网络地址部分&a…...
【closerAI ComfyUI】AI绘画界新技术RF Inversion图像编辑和风格迁移!能跟ipadapter争高低吗?
AI绘画界新技术RF Inversion图像编辑和风格迁移!能跟ipadapter争高低吗? 在人工智能绘画领域,技术的创新永不止步。closerAI ComfyUI最近推出了一项名为RF Inversion的新技术,它能够进行图像编辑和风格迁移,为艺术家和…...
【Spring篇】Spring的Aop详解
🧸安清h:个人主页 🎥个人专栏:【计算机网络】【Mybatis篇】【Spring篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎯初始Sprig AOP及…...
Spring与其他框架的比较
Spring 框架因其丰富的功能和灵活性,在 Java 领域内得到了广泛应用。然而,在不同的应用场景下,开发者可能会选择其他框架。下面将 Spring 框架与其他一些常见的 Java 框架进行比较,以便更好地理解它们各自的优缺点和适用场景。 1…...
论当前的云计算
随着技术的不断进步和数字化转型的加速,云计算已经成为当今信息技术领域的重要支柱。本文将探讨当前云计算的发展现状、市场趋势、技术革新以及面临的挑战与机遇。 云计算的发展现状 云计算,作为一种通过网络提供可伸缩的、按需分配的计算资源服务模式&a…...
Spring Boot 整合 RocketMQ 之消息消费手动提交 ACK 实战【案例分享】
前言: 上一篇我们分享了 RocketMQ 消息重试的一些基本原理,本篇我们基于 Spring Boot 整合 RocketMQ 来分享一下 RocketMQ 消息基于手动提交的案例,在分享手动进行消息 ACK 中也会分享消息重试的使用。 RocketMQ 系列文章传送门 RocketMQ …...
胃癌数据集(不定期更新)
恶性肿瘤其实就是癌症的一种,它是由一些不正常的细胞组成的,这些细胞会不停地生长和繁殖,而且它们还会侵犯周围的正常组织,甚至通过血液和淋巴系统跑到身体其他部位去。 恶性肿瘤有以下几个特点: 1、无限制生长&…...
zh/FAQ/CentOSStream-CentOS Stream 常见问题
CentOS Stream 是什么? CentOS Stream 是一个为开发者而设的发行版本,目的是要协助社群中的成员、Red Hat 伙伴及其它人在一个较稳定及可预测的 Linux 生态环境下充分利用创新的开源程序。 它的内容正是 Red Hat 有意收录于下个稳定版 RHEL 的软件。任何…...
多台西门子PLC与多台三菱PLC之间实时通讯的方案(PLC内不用编程)
PLC通讯智能网关IGT-DSER模块支持西门子、三菱、欧姆龙、罗克韦尔AB、GE等各种品牌的PLC之间通讯,同时也支持PLC与Modbus协议的变频器、智能仪表等设备通讯。网关有多个网口、串口,也可选择WIFI无线通讯。PLC内无需编程开发,在智能网关上配置…...
C++ [项目] 恶魔轮盘赌
现在才发现C游戏的支持率这么高,那就发几篇吧 零、前情提要 此篇是我与 同学的共创,他负责写人,我负责写机,简称人机, 不过有一点小插曲…… 一、基本介绍 支持Dev-C5.11版本(务必调为英文输入法),基本操作看游戏里的介绍,怎么做的……懒得说,能看懂就看注释,没有…...
微信小程序版本更新管理——实现自动更新
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Python使用Selenium库实现CSDN自动化发帖
虽然CSDN上有很多优秀的作品,但也不乏很多很水的文章,我也不知道这种有什么意义。不过发这么水的文章多没意思,让浏览器自动化发帖就行了。以下程序能够实现CSDN自动化发帖,同时附自动给关注的人的文章点赞的程序。因为也有很多作…...
StringBulider和StringBuffer的底层源码剖析
要深入了解 StringBuffer 和 StringBuilder 的区别,从底层源码的角度来解析,包括它们的创建、扩容机制等,可以参考 JDK 1.8 的源码。 1. AbstractStringBuilder 类 StringBuffer 和 StringBuilder 都继承自 AbstractStringBuilder。…...
CANdb++ Editor高效使用技巧:5个隐藏功能大幅提升dbc编辑效率
CANdb Editor高效使用技巧:5个隐藏功能大幅提升dbc编辑效率 在汽车电子开发领域,Vector的CANdb Editor堪称dbc文件编辑的行业标准工具。大多数工程师都能熟练使用其基础功能,但真正的高手往往掌握着那些鲜为人知的"秘密武器"。本文…...
5步实现Switch控制器PC全功能适配:从连接到精通的设备适配指南
5步实现Switch控制器PC全功能适配:从连接到精通的设备适配指南 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitc…...
棉花打包机的设计【说明书(论文)+CAD+solidworks】
棉花打包机作为农业机械化领域的关键设备,其核心作用在于将散状棉花高效压缩成标准化包型,以满足运输、仓储及后续加工的工艺需求。传统打包方式依赖人工或简单机械,存在效率低、包型不均、劳动强度大等问题,而现代棉花打包机通过…...
Unity 工具之(SharpZipLib)跨平台中文Zip压缩与解压实战指南(附多线程优化)
1. 为什么选择SharpZipLib处理Unity中的Zip文件 在Unity项目开发中,资源打包和网络传输经常需要处理压缩文件。SharpZipLib作为.NET平台的老牌压缩库,相比Unity内置的压缩方案有三个不可替代的优势: 首先是对中文路径的完美支持。很多开发者都…...
告别Python环境依赖!用PyInstaller打包Tkinter/Selenium程序的最佳实践
告别Python环境依赖!用PyInstaller打包Tkinter/Selenium程序的最佳实践 你是否遇到过这样的尴尬场景?精心开发的Python程序在本地运行完美,但分享给同事或客户时,对方却因为缺少Python环境或依赖库而无法使用。尤其当程序涉及图形…...
SOONet效果展示:多查询并行定位——‘倒水’‘接电话’‘写笔记’三任务同步响应
SOONet效果展示:多查询并行定位——‘倒水’‘接电话’‘写笔记’三任务同步响应 1. 引言:当视频搜索变得像说话一样简单 想象一下,你有一段长达一小时的会议录像,现在需要快速找到“张三站起来发言”、“李四在白板上画图”以及…...
Unity引擎开发过的VR大场景项目有哪些?用到的网络技术,资源处理及热更新方案有哪些
我梳理了Unity引擎开发的VR大场景代表性项目,并从网络技术、资源处理、热更新方案三个核心技术维度进行了详细分析。一、代表性VR大场景项目 1. 基于VR的数字孪生智慧城市平台 开发方:香港理工大学温州技术创新研究院技术特点:整合GIS地理信息…...
MindFormers文本生成接口
MindFormers的文本生成接口(.generate())是大模型推理流程中控制生成行为、整合输入与输出的核心工具,其设计兼顾灵活性与易用性,支持从基础文本生成到高阶自定义配置的多类场景。一、核心入参:定义生成的“输入”与“…...
突破传统:用Arduino SI4735库打造全频段数字收音机方案
突破传统:用Arduino SI4735库打造全频段数字收音机方案 【免费下载链接】SI4735 SI473X Library for Arduino 项目地址: https://gitcode.com/gh_mirrors/si/SI4735 你是否曾梦想过亲手打造一台能接收全球广播的专业收音机?面对传统模拟电路的复杂…...
python-flask-djangol框架的高校毕业生就业信息实习管理系统
目录需求分析与功能规划技术选型与架构设计数据库模型设计功能模块实现数据统计与可视化测试与部署文档与维护项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确系统核心目标为管理高校毕业生就业和实习信…...
