海康线阵相机调试指导

news/2024/11/28 19:22:50/

文章目录

  • 前言
  • 1. 线阵相机结构光评估
    • * 确认外界光源是否满足
    • * 镜头的确认
    • * 确认物距
    • * 确认抓拍宽度
  • 2. 图像优化
    • * 如何确认当前的帧率
    • *关于拖影的解决方式
    • *关于适应更高的速度
    • *关于获取车速的讨论
    • *延伸几个比较难的解决场景和解决方案

前言

前段时间应公司结构要求,需评估结构和硬件,主要围绕线阵相机图像质量上,在此记录下调试过程中的一些经验,希望能给同行一些方向,互相学习。


1. 线阵相机结构光评估

* 确认外界光源是否满足

评估光源是否满足的要求是图像无太大压缩,无太大拉伸(10%以内)的情况下,模拟增益不超过4dB,gamma增强不超过0.7的情况下,图像亮度正常, 图像整体亮度基本均匀,无暗条纹等情况。
P.S:

图像无压缩,无拉伸可以确认行频和当前车速基本匹配,此时定下了曝光时间。
模拟增益和gamma是DSP放大,放大会导致噪点的出现,因此需要做一些控制。
图像亮度均匀是判断外界灯的角度,灯的排版是否合理的有效依据。
量化工具可以使用照度计。

* 镜头的确认

镜头确认需要保证像素点都使用到(比如2048的宽,那么绝大部分的像素需要可见),因此镜头的选择尤其重要。
在选择镜头匹配到所有像素时(width),也需要考虑到抓拍的宽度,尽量满足抓拍的宽度要求(比如客户要求2米等重要指标)

* 确认物距

首先确认客户需要使用的环境,确认物距距离,按照物距距离模拟环境, 相机不动, 运动的传送带等通过一种控制
转动的工具,比如马达类的电机转速等,在上面贴一些字符,方便视觉上调整行频,保证图像不被拉伸和压缩。

* 确认抓拍宽度

a. 先让抓拍模式设置为连续;
b. 调整heigh为128或256,调整曝光时间和行频,确保图像不压缩和拉伸;
c. 调整gamma等,确认图像正常曝光;
d. 可以找一些白色的条状物体模拟边缘, 移动物体让图像刚好在最边缘,使用卷尺测量横向距离,如果不满足客户要求,
做结构上的调整,原则上物距越远, 可看到的横向(width)越大。
P.S:注意晃动的时候,使用比较长的杠子,避免手进入可视区,误以为杆子边缘可见(手的物距高于杆子)

2. 图像优化

* 如何确认当前的帧率

1)帧率= 行频(Hz)/高(当1/行频大于曝光时间的前提下), 当行频比较高的时候,帧率也会高, 但行频的突破需要曝光做牺牲,比如
曝光1000us,如果要出30fps, 如果height为32, 那么行频就是1000,此时如果想要帧率继续提高, 就要求行频提高,
行频提高需要曝光减少, 他们的倍数关系一致。

2)当1/行频小于曝光时间时,帧率由曝光决定, 帧率 = 1/曝光时间/图像行高

在调试过程中, 设置过程如下:
设置Height, 设置行频,确认图像是否拉伸或压缩, 如果压缩, 增大行频, 行频如果最大依然压缩, 降低曝光时间,
如果此时图像比较暗, 优先提高外部亮度,或增加增益(不推荐)

*关于拖影的解决方式

1)对于要做尺寸测量之类,或人脸识别算法之类的场景, 像素精度有一定的要求,一般要求不超过1/2个像素。
2)拖影对人工智能不造成影响条件是 曝光时间 * 相对运动速度 ≤ 相对运动速度的需求
例如曝光时间400us,小车按照10km/h的速度从相机上行驶, 分辨率为20484500, 整体视野2m * 4.5m(车长),像素精度要求1/2。
曝光时间 * 相对运动速度(相机固定) = 400/1000000 * 2.78
1000 = 1.112mm
垂直方向像素精度 : 4500(视野范围的垂直方向) / 4500 * 1/2 = 0.5mm
因此无法满足场景
解决方式: 降低曝光时间(要求外界亮度足够)或降低传送带的运动速度
关于线阵相机调试后的效果,传送

*关于适应更高的速度

关于相对速度变化的场景, 如果保证线阵相机抓拍图像正常?


1)需要确认当前适配的最大速度依然不变形,首先是确认可设置的最小曝光时间, 目前发现曝光在120us以下的情况,图像依然不欠曝(或微欠曝),基本能保证速度能到35km/h。
2)保证曝光不变形的情况下,然后确认图像亮度,如果亮度不足可以适当增益模拟增益和数字增益,有限模拟增益。如果客户对分辨率没有特别的要求,可以适当降低分辨率(BIND)。

*关于获取车速的讨论

因为图像变形和车速正相关, 所以必须有一个测速的模块, 如果是匀速的传送带相关的场景,使用一套ISP参数即可。
测速模块如果有更好的解决方案, 希望一起讨论下,方便提高产品竞争力, 谢谢!

*延伸几个比较难的解决场景和解决方案

场景1:通过测速模块工程中停止或变速
场景2:在线扫过程中停止, 加速,减速。
解决方案: 目前需要评估一种测速,当速度变化后设置图像ISP,但这样会增加链路层传输的时间(调用API),导致抓拍可能丢了一些帧(特别是单帧比较小的情况)
场景3:如果被扫距离不固定,如何做到图像最优化?
该问题如果有解决方案,欢迎指导。


http://www.ppmy.cn/news/340046.html

相关文章

linux下调用扫描仪sane协议

Sane是linux下调用扫描仪的通用协议,要使用的话需要先在电脑上/usr/lib/或者/usr/local/lib/下安装libsane.so文件。其调用过程如下: 1.初始化 2.查找设备 3.打开设备 4.设置参数 5.开始扫描 6.保存图像 7.取消扫描 8.关闭设备 9.释放资源。 以下介绍均…

介绍一些免费/开源的医学影像后处理工具

来源:融视影像科技 综述 医学影像的处理有两个特质。一是复杂,整个处理流程涉及多种算法,需要调整的参数较多。二是发展快,从采集、重建到后处理,新处理方法层出不穷,每年都有新工具,每五年又…

中国金融,如何向科技要答案?

一个科技初创公司,能否凭借科创成果及时获得信贷准入? 一个农民兄弟能否在春播时,获得精准的无抵押贷款;秋收时,通过银行App找到性价比最高的买家? 一家企业,能否通过其生产及交易信息获取线上融…

运动款蓝牙耳机哪个品牌好、运动蓝牙耳机推荐高性价比

很多人觉得听音乐跑步会影响跑步的体验感,其实音乐对跑步的过程是有积极作用的,除了可能选择的音乐节奏不正确之外,你可能还需要更换一款靠谱的运动耳机。不要一直追求更好的衣服、鞋子、手表等装备了,还在用有线耳机听歌跑步的朋…

BitSet—位图

BitSet 🔎概念🔎位图的模拟实现set()get()reSet()getUsedSize()完整代码 🔎利用位图进行排序🔎结尾 🔎概念 位图 用某一位表示存储的状态 位图的适用场景 海量数据数据为自然数(≥ 0)数据不重复 举个栗子&#x1f3…

达人评测:华为手环b6和b5有什么区别?哪个好?优缺点曝光真相

华为手环b6与b5的区别介绍 一、基本参数对比 华为手环b6和b5这两款手机具体参数规格和用户评价参考看下官方旗舰店的‘商品评价’,链接帮贴上了 华为手环b6更多使用感受和评价:https://www.jd.shouji.com/b6 华为手环b5更多使用感受和评价:…

java 获取类里面的属性和函数方法,并运行类的函数方法

助手类,获取类里面的属性和函数 import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.List;//TODO 获取类里面的属性和函数方法 public class ClassUtils {//TODO 获取类里面…

flutter自定义系列之简单的K线图绘制

上篇文章讲了flutter自定义的相关流程, 今天继续练习下flutter的自定义K线: 我们可以通过自定义Painter来实现一个简单的K线图界面: 创建一个自定义的Painter,用于绘制K线图: import dart:ui;import package:flutte…