openpnp - 在openpnp中单独测试相机

文章目录

    • openpnp - 在openpnp中单独测试相机
    • 概述
    • 笔记
    • 测试工装
    • 相机镜头顶部盖子到目标的距离
    • END

openpnp - 在openpnp中单独测试相机

概述

底部相机的位置不合适, 重新做了零件,准备先确定一下相机和吸嘴的距离是多少才合适。
如果在设备上直接实验,那么拆装调整相机挺麻烦的。
准备直接在电脑上接一个USB相机,然后用openpnp来直接测试相机。等调试好相机和吸嘴的距离了,再直接安装到设备上用。
openpnp用的视觉实现是opencv, 组件为openpnp-capture-java-0.0.22.jar。
如果直接用openpnp-capture-java-0.0.22.jar,还得写测试程序,或者去找第三方的相机测试程序。
就在想,能不能直接在openpnp中测试相机呢?
试了一下,可以啊,这就方便多了。

笔记

将.openpnp2删掉。
打开openpnp, 会新建默认的模拟设备环境,这时就可以模拟操作openpnp贴片的任务。
建立相机,先择自己实际接入电脑的相机。
将相机参数设置为openpnp默认的,然后测试速率,能达到30FPS左右,就符合openpnp的要求了。
在这里插入图片描述
在相机视图,找到自己新建的openpnp相机,这时就可以用实际的相机支架和测试工装(固定相机支架,28电机和吸嘴之间的位置关系),来调整相机和吸嘴的最佳距离和相机焦距了。
在这里插入图片描述
这样就可以脱离实际设备进行相机的单独测试,但是用openpnp操作相机的流程和实际设备一致。
只要将相机的安装位置和焦距调整到最佳,就可以直接装回设备上。
这种方法和在设备上实际调试相机,要方便很多,可以节约很多时间,且调整相机位置和焦距时很方便。

测试工装

为了脱离设备单独测试相机模组,需要做一个工装,让相机和吸嘴在一条轴上,且距离可调,底部相机灯光和设备一样。
将测试工装搭好了,这就和实际设备用吸嘴和底部相机时差不多了.
这样就可以轻松的测试相机模组安装的理想垂直位置和相机焦距了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相机镜头顶部盖子到目标的距离

并不是随便摆一个距离,调焦就能看清目标的。
必须是一个确定的距离,然后再调焦,才能将目标看的最清晰

摄像头像素镜头焦距(mm)镜头顶盖到目标的距离(mm)
1600W3.020

END

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

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

相关文章

网络模型——二层转发原理

网课地址:网络模型_二层转发原理(三)_哔哩哔哩_bilibili 一、路由交换 网络:用来信息通信,信息共享的平台。 网络节点(交换机,路由器,防火墙,AP)介质&#…

[watevrCTF 2019]Voting Machine 1-好久不见10

shiiftF12查找字符串,发现flag.text跟踪 from pwn import * i remote("node5.anna.nssctf.cn",22956) address 0x400807 payload ba*(0x28) p64(address) i.sendline(payload) i.interactive()

【Linux】从零开始使用多路转接IO --- select

碌碌无为,则余生太长; 欲有所为,则人生苦短。 --- 中岛敦 《山月记》--- 从零开始认识五种IO模型 1 前言2 认识多路转接select3 多路转接select等待连接4 完善代码5 总结 1 前言 上一篇文章我们讲解了五种IO模型的基本概念,并…

【Java SE 】String 类 详解!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 1. String 的地位 在Java 编程中,字符串的使用是非常频繁的,而字符串的使用有离不开 String类 ,在开发和面试中String类也是非常…

2024 Rust现代实用教程Iterator迭代器

文章目录 一、迭代与循环1.循环2.迭代iteration3.区别 二、Intoiterator、Iterator和Iter之间的关系1.Intolterator2.Iterator Trait3. 源码中经常出现的iter 三、获取迭代器的三种方法iter(),iter_mut()和into_iter()1.iter()方法2.iter_mut()方法3.into_iter()方法---尽量写 …

VSCode进阶之路

VSCode进阶之路:从入门到高效率开发 🚀 Hey,朋友们好!还在为VSCode的海量功能感到眼花缭乱吗?咱们一起来解锁VSCode的超神技能吧! 开篇碎碎念 🎯 第一次用VSCode时,就像个闯入魔法世…

专业130+总400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书。

已经顺利读研一段时间,回顾一下考研还是历历在目。应群里学弟要求,回忆总结一下自己考研经历,希望对大家复习有帮助。总分400,专业课855信号与系统130(犯了低级错误,计算出现问题,大家专业好好准…

Self-Lengthen:阿里千问开源提升 LLM 长文本生成能力的训练框架

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦! 🥦 微信公众号&#xff…

双向链表及如何使用GLib的GList实现双向链表

双向链表是一种比单向链表更为灵活的数据结构,与单向链表相比可以有更多的应用场景,本文讨论双向链表的基本概念及实现方法,并着重介绍使用GLib的GList实现单向链表的方法及步骤,本文给出了多个实际范例源代码,旨在帮助…

理解前端打包工具树摇优化:如何通过import,export静态分析移除未使用的代码

理解树摇优化:如何通过静态分析移除未使用的代码 在现代前端开发中,代码的体积和性能至关重要。随着应用程序日益复杂,优化打包过程、减少未使用代码的大小成为了一个迫切的需求。树摇优化(Tree Shaking)就是为了解决…

【rust实战】rust博客系统4_连接数据库及查询数据

问题 回答 解释如何连接数据库1.在Cargo.toml中添加 mysql 依赖项 mysql "21.0.0" 2.在src/db/db.rs中写连接数据库的代码 use mysql::*; use mysql::prelude::* pub fn init_pool() -> Result<Pool> { let url "mysql://root…

C++笔试题之实现一个定时器

一.定时器&#xff08;timer&#xff09;的需求 1.执行定时任务的时&#xff0c;主线程不阻塞&#xff0c;所以timer必须至少持有一个线程用于执行定时任务 2.考虑到timer线程资源的合理利用&#xff0c;一个timer需要能够管理多个定时任务&#xff0c;所以timer要支持增删任务…

计算从位置 x 到 y 的最少步数

问题描述 小F正在进行一个 AB 实验&#xff0c;需要从整数位置 x 移动到整数位置 y。每一步可以将当前位置增加或减少&#xff0c;且每步的增加或减少的值必须是连续的整数&#xff08;即每步的移动范围是上一步的 -1&#xff0c;0 或 1&#xff09;。首末两步的步长必须是 1。…

【Java笔记】1-JDK/JRE/JVM是个啥?

JDK、JRE、JVM可以说是入门必须了解的三个词汇 先说全称 JDK&#xff1a;Java Development Kit&#xff0c;Java开发工具包 JRE&#xff1a;Java Runtime Environment&#xff0c;Java运行环境 JVM&#xff1a;Java Virtual Machine&#xff0c;Java虚拟机 再说关系 JVM⊆J…

C++ 报错 first defined here XXXXX multiple definition of XXXX

这个报错是重定义 1、首先检查下是不是真的重定义了&#xff0c;检查下报错提示的函数&#xff0c;以及提示的路径位置 2、头文件被多次包含时&#xff0c;没有设置只包含一次 头文件用宏定义包含&#xff0c;注意宏定义别重复 #ifndef XXX_H #define XXX_H// 函数声明和定…

c语言-进位计数制

文章目录 一、进位计数制是什么&#xff1f;二、c语言1.二进制转十进制2.十进制转二进制 一、进位计数制是什么&#xff1f; 进位计数制简称进制&#xff0c;是人类用于计算数量的基本规则。 可使用数字符号的数目称为基数或底数&#xff0c;基数个数为n个&#xff0c;即可称n…

HTML 基础标签——结构化标签<html>、<head>、<body>

文章目录 1. <html> 标签2. <head> 标签3. <body> 标签4. <div> 标签5. <span> 标签小结 在 HTML 文档中&#xff0c;使用特定的结构标签可以有效地组织和管理网页内容。这些标签不仅有助于浏览器正确解析和渲染页面&#xff0c;还能提高网页的可…

中国计算机学会推荐国际学术会议和期刊目录- 2022

官网只给了PDF文件&#xff0c;我转换成了excel文件&#xff0c;便于筛选和查找。 excel文件&#xff1a;GitHub

【算法赌场】区间合并

区间问题 区间问题的引入 数学上&#xff0c;用两个数字可以确定数轴上的一个区间&#xff0c;较小的数字叫做区间的左端点&#xff0c;也叫区间起点&#xff0c;较大的数字叫做区间的右端点&#xff0c;也叫区间终点。 在算法竞赛中&#xff0c;很多题目是以区间为单位去进行…

给定开始日期时间结束日期时间、间隔得到符合条件的序列pandas.timedelta_range()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 给定开始日期时间 结束日期时间、间隔 得到符合条件的序列 pandas.timedelta_range() [太阳]选择题 以下代码执行后&#xff0c;delta中包含的时间差序列的个数是多少&#xff1f; import pa…