openpnp - 顶部相机辅助光的选择

news/2024/5/10 0:03:28/文章来源:https://blog.csdn.net/LostSpeed/article/details/130137959

文章目录

    • openpnp - 顶部相机辅助光的选择
    • 概述
    • 折腾的过程
    • 简易灯板
    • 市售的环形灯(不带漫射板)
    • 市售的环形灯(不带漫射板) + LED单色光调光控制器.
    • 市售的环形灯(带漫射板)
    • 市售的环形灯(带漫射板) + 自己拆解(降低LED灯路数)
    • END

openpnp - 顶部相机辅助光的选择

概述

终于将顶部相机辅助光搞定了.
最终选择了市面上现成的环形无影灯(带散射板), 照到PCB上没有LED的一圈亮点投影了, openpnp曝光开到最低, 也可以正常执行白平衡了.
在这里插入图片描述
在这里插入图片描述

折腾的过程

简易灯板

同学给做的简易灯板(一圈环形摆放的贴片LED, 共8~10个), 可能设计的不太合理, 发热量极大. 手都摸不上去. 调顶部相机焦距时, 很容易被烫到.
在openpnp的顶部相机图像中, 看到相机十字下的PCB上有一圈LED的投影, 效果很差. 看着很难受.

市售的环形灯(不带漫射板)

这种灯照在PCB上, 也有灯中3圈LED的投影.
关键是这种灯很亮, 我的辅助光安装位置由于设备结构设计的原因, 离PCB只有30mm~40mm.
此时, openpnp曝光开到最低, 也无法得到一幅正常能看的正常顶部相机图片. 图像一片惨白, 根本不能用.
不是人家灯光有问题, 而是我的辅助光安装位置太低了. 怪不得人家.

市售的环形灯(不带漫射板) + LED单色光调光控制器.

买回来LED单色光调光控制器, 单独实验是没问题的, 可以很好的控制环形灯的亮度.
但是装到设备上, 配合openpnp来用, 就看出问题了.
调光控制器用的PWM方式调光, 人眼是看不出环形灯闪烁的.
但是在openpnp软件的顶部相机图像中, 就看出区别了.
只要不是100%亮度, openpnp图像就带黑色的横条(从上到下, 每个一段距离, 就有一条很明显的黑色横条, 横条的宽度大概0.5~1mm), 这些图像中的黑色横条, 就是灯不断闪烁引起的.
只要将调光控制器去掉, 直接给环形灯上24V电源的开关控制, 图像就是正常的.
看来, 这种PWM方式的调光控制器, 只能给普通的LED灯带进行调光. 对于相机用的辅助光调光, 从原理上就行不通.

市售的环形灯(带漫射板)

这种方案, 就是我采用的方案.
灯光还是很亮, 但是将openpnp顶部相机曝光开到最低, 进行白平衡, 还是可以得到正常显示的图像的.

市售的环形灯(带漫射板) + 自己拆解(降低LED灯路数)

这种方案我还没弄, 因为上一个方案已经能正常用了.
这个方案留给以后做实验.

一般基于LED的照明灯, 给定一个输入电压(e.g. 24V), 厂家为了增强灯的亮度, 会采用每一路串联多个LED(满足固定输入电压的分压要求), 多路并联的方式.

路数越多, 灯越亮.

此时, 无损拆解该环形灯. 将不需要的路数去掉. e.g. 原来是3路灯, 现在改为2路或1路.
因为不能采用调光控制器(影响图像质量), 这种方案只适用于openpnp曝光开到最低, 也无法正常白平衡形成正常图片的情况.

我买灯时, 买了2个, 1个60度, 1个90度. 现在用的60度的, 已经正常用. 相机十字中间的图像会比外围稍微暗一点, 不明显.
90度的还没实验. 现在还没有到最后优化的时候.

等最后搞定后会拆一个. 将亮度降低.
或者自己参照人家的电路, 自己做个灯板PCBA放上去. 只要有4个LED就行, 有点亮度, 将环境光比下去.
我要求的亮度不要那么高. 只要比环境光高一点就好.
有辅助光之后, 环境光的影响就基本无视了.

END

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

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

相关文章

数值区间的模糊匹配,二分查找的应用

先看图: 需求很明确,要根据左边的值,显示右边的值。 比如,现在拿到的值是 17.12,那么应该显示成 15;拿到 17.599 ,那么应该显示成 20. 先找规律: 为了便于说明,暂且将左边的值设为 x, 右边的值设为 y. 第一行和最后一行可以写死成 0 与 1500;余下的每行,x 的区间是…

【华为机试真题详解JAVA实现】—学英语

目录 一、题目描述 二、解题代码 一、题目描述 Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文: 具体规则如下: 1.在英语读法中三位数字看成一整体,后面再加一个计数单位。从最右边往左数,三位一单位,例如12,345 等 2.每三位数后记得带上计数单位 分别是…

四、数组、切片,映射

一、一维数组 //声明一个包含5个元素的整型数组 var array [5]int //具体数值填充数组 array : [5]int{1, 2, 3, 4, 5} //容量由初始化值的数量决定 array : [...]int{1, 2, 3, 4, 5) //只初始化索引为1和2的元素 array : [5]int{1: 10, 2: 20} //修改索引为2的元素的值 array…

Spring学习(五):一篇讲清楚动态代理(jdk和cglib)的使用、原理和源码

目录 一、jdk动态代理的基本使用 二、cglib动态代理的基本使用 2.1 方法一:method.invoke() 方法反射调用 2.2 方法二(spring使用的这个方法): methodProxy.invoke() 2.3 方法三:methodProxy.invokeSuper() 三、…

ABP vNext电商项目落地实战(一)

一、落地条件: 1. .NET5版本 2. DDD 3. ABP vNext 4.ABP CLI (ABP的命令行工具,包括ABP的各种模板) 5.SQL Server 写在前面:我觉得这个框架的文件分层很凌乱,在企业的实际业务场景中,一般…

RHCSA练习作业(二)

目录 题目一 题目二 题目三 第四题 第五题 题目一 文件查看:查看/opt/passwd文件的第六行(使用head和tail指令) 代码如下: head -6 /opt/passwd | tail -1 题目二 在/etc及其子目录中,查找host开头的文件&#x…

虚拟机Ubuntu 18.04安装dpdk18.11

1 虚拟机用了2个核,2G内存,3个网卡 2 去http://core.dpdk.org/download/下载了18.11 3 安装apt-get install libnuma-dev 4 运行ifconfig down ***停掉2个网卡,方便后面添加到dpdk 5 解压后,进入usertools,运行dpd…

用AI帮我写一篇关于FPGA的文章,并推荐最热门的FPGA开源项目

FPGA定义 FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,可以在硬件电路中实现各种不同的逻辑功能。与ASIC(Application Specific Integrated Circuit,特定应用集成电路)相比,FPGA…

SQL 条件函数 日期函数 文本函数 窗口函数

玩了几天,劳逸结合,继续复习刷题sql 一、条件函数 1.题目:现在运营想要将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量(age为null 也记为 25岁以下) user_profile 期望结果&…

由浅入深掌握Python多线程原理与编程步骤

由浅入深掌握Python多线程编程一、 Python多线程编程原理1. 什么是线程2. 线程工作原理3. Python全局锁与线程关系4. Python 支持多线程的模块二、由简单的示例初步了解多线程编程步骤三、标准库 threading 模块介绍1. threading 模块的主要属性、方法,以及公共函数…

C++ [图论算法详解] 欧拉路欧拉回路

蒟蒻还在上课,所以文章更新的实在慢了点 那今天就来写一篇这周刚学的欧拉路和欧拉回路吧 讲故事环节: 在 一个风雪交加的夜晚 18世纪初普鲁士的哥尼斯堡,有一条河穿过,河上有两个小岛,有七座桥把两个岛与河岸联系…

Python手写板 画图板 签名工具

程序示例精选 Python手写板 画图板 签名工具 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<Python手写板 画图板 签名工具>>编写代码&#xff0c;代码整洁&#xff0c;规则&am…

Diffusion模型系列文章

DDPM 论文 扩散模型包括两个过程&#xff1a;前向过程&#xff08;forward process&#xff09;和反向过程&#xff08;reverse process&#xff09;&#xff0c;其中前向过程又称为扩散过程&#xff08;diffusion process&#xff09;&#xff0c;如下图所示&#xff0c;从x…

如何定位Spark数据倾斜问题,解决方案

文章目录前言一、数据倾斜和数据过量二、 数据倾斜的表现三、定位数据倾斜问题定位思路&#xff1a;查看任务-》查看Stage-》查看代码四、7种典型的数据倾斜场景解决方案一&#xff1a;聚合元数据解决方案二&#xff1a;过滤导致倾斜的key解决方案三&#xff1a;提高shuffle操作…

1.docker-安装及使用

1.安装步骤 Install Docker Engine on CentOS 1. 确定CenOS7及以上版本 cat /etc/redhat-release2.卸载旧版本 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine3.yum安…

Spimes x5.0主题模板全开源源码/Typecho主题模板

☑️ 品牌&#xff1a;Typecho ☑️ 语言&#xff1a;PHP ☑️ 类型&#xff1a;主题模板 ☑️ 支持&#xff1a;PCWAP &#x1f389;有需要的朋友记得关赞评&#xff0c;底部分享获取&#xff01;&#xff01;&#xff01; &#x1f389; ✨ 源码介绍 Spimes x5.0主题模板全开…

基于overleaf 的美国大学生数学建模竞赛(美赛)latex 格式模板(含信件和附件)

可能是最后一次打美赛了&#xff0c;感觉有的东西不整理整理有点对不起自己的经历。感觉为这个比赛付出过挺多的&#xff0c;这几次参赛的经历也从各种方面提升了我的能力&#xff0c;相信未来的自己也还会怀念这段时光。 个人认为美赛的难点之一就是优质资源难得&#xff0c;…

Pytorch深度学习笔记(三)线性模型

目录 1.机械学习的过程 2.线性模型 1.机械学习的过程 机械学习的过程&#xff1a; 1.准备数据集DataSet——>2.选择模型Model——>3.训练Training——>4.推理Infering 监督学习&#xff1a;用已知标签的训练样本训练模型&#xff0c;用来预测未来输入样本的标签&#…

Android---内存泄漏检测核心原理

目录 LeakCanary 核心原理 LeakCanary 检测对象的类型 ReferenceQueue 与 WeakReference LeakCanary 里的监控列表与保留列表 常见内存泄漏案例 1. 单例导致内存泄漏 2. 静态变量导致内存泄漏 3. 非静态内部类导致内存泄漏 4. 未取消注册或回调导致内存泄漏 5. Timer…

ChatGPT的发展对客户支持能提供什么帮助?

多数组织认为客户服务是一种开销&#xff0c;实际上还可以将客户服务看成是一种机会。它可以让你在销售后继续推动客户的价值。成功的企业深知&#xff0c;客户服务不仅可以留住客户&#xff0c;还可以增加企业收入。客户服务是被低估的手段&#xff0c;它可以通过推荐、见证和…