Skip to content

About

机器视觉选型工具集:选型助手(视野/精度/任务 → 相机+镜头+光源方案,含 3D 轮廓与线扫路径,附现场参数建议、安装配套、验收清单与次优对比)+ 自定义搭配(自选型号逐项评定与替换建议)+ 产品库(3647 型号全参数查询/对比/反查/同规格跨品牌备注/询价清单,含 3D、工控机与工业红外相机)。四品牌:海康/华睿/Basler/大恒。移动端对齐小程序交互,纯前端离线可用。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HIKROBOT

机器视觉智能选型助手

tests 在线使用 license

机器视觉选型工具集,包含四个页面:

  • 主页 home.html:统一入口 + 数据速览 + 手册资料直达;
  • 选型助手 index.html:输入检测需求(视野、精度、任务、材质、节拍……),自动推导出一套 相机 + 镜头 + 光源 方案,并把每一步算术都摊开给你复核;方案区附评分构成(逐项扣分原因)、选型依据(与次优方案逐项对比)、现场参数建议(光圈/曝光/增益/触发/调光起始值)、安装与配套清单、验收与复核清单与方案清单 BOM(可一键加入询价清单);任务含「高度 / 3D 轮廓测量」(自动推荐 MV-DP 轮廓传感器)与线扫路径;移动端交互对齐小程序(吸顶分段 / 表单摘要 / 卡片折叠 / 文本抽屉);
  • 自定义搭配 combo.html:从型号库自选相机 / 镜头 / 光源,按当前需求逐项评定(卡口、像面、解析力、精度、景深、曝光、帧率带宽、照明匹配),给出分数、等级与可一键替换的改进建议;产品库详情里的「加入搭配」会同步到搭配台;
  • 产品库 library.html:全量型号一站式查询(3647 个型号),按类别 / 品牌 / 接口 / 卡口 / 焦距 / 颜色 / 红外波段筛选, 支持型号 / 系列 / 传感器关键词搜索、多型号横向对比、相机 → 适配镜头反查、跨品牌等价型号列表、 收藏型号(顶部「★ 收藏」只看收藏,收藏的相机 / 镜头 / 光源在自定义搭配页的选择器里直接列出), 每个型号带示意图与全参数详情,手机电脑均适配。

四个页面顶部是同一组导航(主页 / 选型助手 / 产品库 / 自定义搭配),当前页高亮,窄屏改为单行横滑,不用再记各页入口在哪。

内置 多品牌型号库,目前覆盖四大机器视觉相机品牌、合计 1615 台面阵 / 板级相机、788 支镜头、240 款远心镜头、76 台线阵、 734 款光源、45 款光源控制器,另有海康 119 款 3D(轮廓传感器 + 结构光 / 振镜 / 双目 / TOF / 物流立体相机)、20 款工控机 / 主板与 10 款工业红外相机(一站式查询合计 3647 个型号):

  • 海康机器人 HIKROBOT:面阵 / 板级相机 406 台(面阵 346 + 板级 60)、线扫相机 33 台、FA/M12 工业镜头 101 支(C 口 67 / M12 11 / M72 8 / M42 8 / M58 4 / F 口 3)、远心镜头 7 个系列、光源 211 个型号、光源控制器 23 款;相机与镜头抽取自《机器视觉标准产品手册-2026.Q3》,光源/控制器与相机详细参数(动态范围、信噪比、曝光范围、PoE)取自官网产品数据。
  • 华睿(大华机器视觉):面阵相机 288 台、线阵相机 26 台(GigE / 10GigE / CameraLink / CoaXPress,覆盖 2K16K)、工业镜头 63 支(C 口 47 / M72 8 / M42 7 / M58 1,焦距 595mm)、光源 262 个型号(环形 / 无影 / 条形 / 面光 / 穹顶 / 同轴 / 线光,按 W/R/B 逐色拆型号)、光源控制器 20 款,抽取自《机器视觉产品手册中文版 V20260901》(镜头为型录独立章节)。

    注:型录中 AB 系列单板相机表格无“镜头接口”列,26 台按板级相机行业标准补为 C 口(可加 CS 转接环);如与实际不符,改 tools/parse-huarui.py 中“单板 → C”规则后重跑即可。

  • Basler(宝视纳):面阵相机 233 台(ace 38 / ace 2 38 / ace 2 R 40 / ace 2 V 14 / ace U 41 / ace L 8 / ace Classic 20 / boost 10 / boost R 16 / boost V 8,覆盖 GigE / USB3 / CameraLink / 10GigE / CoaXPress)+ 线扫相机 17 台(racer 2 S·L·XL,CoaXPress / GigE / 2.5GigE),规格取自官网产品页、经联网检索整理;另有 C/F 口定焦镜头 46 支 + 远心镜头 22 款(docs.baslerweb.com 规格页抓取,选型助手中勾选「Basler」镜头品牌即参与比选)、灯光 261 款 + 灯光控制器 2 款(docs.baslerweb.com,产品库可查)。
  • 大恒图像:面阵 / 板级相机 688 台(火星 MARS 160、水星 MER2 193 / MER3 75、ME2x 178、金星 VEN / VE2S 45、SWIR ME2L / ME3P 34、天狼星 SIRIUS 3 等,C 口 612 + M42/F 32 + M58 32 + M72 12)+ 镜头 578 支(LM 118 / M 72 / HN·HN-P 74 / 宝石小像面系列 77 / FL-* 近远摄 42 / HS 26 / BV-L 线阵大像面 18 / ELM 电动调焦 16 / HF 18 / C-C 12 / V·VL·RV·FV·MV 等,C 口 523 + F 口 40 + M42 8 + V38 7)+ 远心镜头 211 款(FTV 51 / TL 38 / FT 32 / TEC-M·V·ML 42 / MGTL 29 / LSTL 11 / TCEL 液态远心 8,C 口 200 + F 口 11),抽取自《大恒图像产品型录》《大恒镜头产品型录》,TCEL 液态远心的接口与倍率取自 Opto Engineering 官网系列页。

    注:大恒官网无独立线阵相机产品类目(线扫场景为解决方案形态),故线阵库不含大恒。

  • 海康 3D / 工控机 / 红外相机(产品库展示):3D 119 款(MV-DP 激光轮廓传感器 72 + 3D 相机 / 结构光传感器 47;后者含 DLS 激光振镜 15、DPS 投影结构光 4、DS5000 结构光传感器 5、DT TOF 智能立体 4、DL 快递物流线激光 4、物流测量 10、双目结构光 5,取自《机器视觉3D产品手册26年Q3》+ 官网产品数据,官网无产品页的 26 款按手册原文录入并逐型号标注数据来源);工控机 20 款(上架式整机 4 + 工控主板 16,抽取自《机器视觉工控机产品手册 V.151》);工业红外相机 10 款(CI 系列:长波 814µm 氧化钒热像 5 款 + 短波 0.41.7µm InGaAs 5 款,含 1 台 SWIR 线阵,取自官网产品数据,带热灵敏度 / 测温范围 / 测温精度 / 焦距视场角等热像专属参数)。

    注:这三类只进产品库查询,不参与选型引擎比选(红外需热像光学、3D 与工控机非「相机 + 镜头 + 光源」链路);手册另标为新品(型号带 *)的 MV-CI003-GL-T5、MV-CI050-US-TF 官网尚无产品页,未入库,见 tools/_cache/hikrobot_ir_review.txt。

多品牌选型:默认对所有品牌一起自动比较,按匹配度选最优(精度余量 / 景深 / 衍射 / 曝光 / 焦距误差 / 视场过剩 / 帧率 / 带宽综合评分,同分再按“像素少 → 带宽放得下 → 接口便宜”取舍),而不是“第一个达标就返回”。 顶栏「相机品牌」「镜头品牌」两组筛选分别生效(例如相机只看大恒、镜头只看海康);光源为海康 + 华睿双品牌合并比选,线扫同;远心随「镜头品牌」勾选参与比选(海康 7 + 大恒 178 + Basler 22)。 方案卡与「同系列参数」都会标注型号所属品牌并显示其 logo;同分辨率 + 同接口 + 同彩色的相机跨品牌归为一组, 便于等价替换对照;镜头侧同样给出跨品牌等价替换(同卡口 + 焦距接近 ±12% + 适配当前相机),点选即可换其他品牌的镜头。 手动指定支持 品牌::型号 写法(如 Basler::a2A2448-75uc、大恒图像::MER3-501-59G3M-P、大恒图像::HN-2516-5M-C2/3X); 手动指定的镜头若卡口不符 / 超工作距离 / 被品牌筛掉,会在风险区明确提示并回退自动选型,不再静默忽略。 面阵幅面/精度不够时自动推荐线阵方案(海康 + 华睿双品牌比选);表单勾选「优先线扫方案」后面阵可行时也一并给出线阵建议。 光源按「类型 + 颜色 + 尺寸」在海康 / 华睿两库中挑刚好够用的最小规格;同族子类互通(平行面光 ↔ 普通/中孔面光、环形 ↔ 无影、线光 ↔ 高亮线光),避免「海康平行背光」因两家子类命名不同而选不到华睿; 控制器优先同品牌(电压与接口匹配),同品牌无可用规格才跨品牌取最少通道数;手动指定了别族光源时,同系列表会自动切到该型号所在的那一族。 大口径相机(F / M42 / M58 / M72,共 127 台)除同族镜头直连外,也可经转接环使用 C 口镜头——直配优先, 仅当直配镜头精度不够时才降级转接;转接环约 12 mm 已计入安装空间,镜头卡有「需 F→C 转接环」标记。 镜头卡显示「满足景深的最大光圈」(该光圈下景深刚好覆盖高度变化,现场可再收一档保险;已至最小光圈仍不足会明确标注)。 靶面/传感器字段缺失的机型按 sw/sh 推导显示“估算”(型号库备注处有标注覆盖率统计),不影响选型计算。

输出是可直接询价的型号,而不是"300 万像素相机"这类泛称。

纯前端静态页,双击 home.html 就能用,不需要装环境、不需要联网。

在线使用

👉 主页:https://549763551.github.io/vision-selector/home.html 👉 选型助手:https://549763551.github.io/vision-selector/(`index.html`) 👉 自定义搭配:https://549763551.github.io/vision-selector/combo.html 👉 产品库:https://549763551.github.io/vision-selector/library.html

GitHub Pages 托管,手机 / 平板 / 电脑打开网址就能用,不用下载。 也可以把仓库 Clone 下来双击 home.html 离线跑,行为完全一致。


一、怎么用

  1. 双击 home.html(Chrome / Edge 均可),从主页进入选型助手,或直接双击 index.html。
  2. 顶部「检测需求」是整行横向表单,填完右侧方案实时刷新,改一个数就重算一次; 其中「可用安装空间」填 0 表示不校验,填了就会检查 WD + 镜头 + 相机 + 线缆是否放得下。
  3. 顶栏「快速试用」有 6 个预设场景,点一下就有结果。
  4. 左栏「同系列参数」列出该系列全部型号(相机按像素、镜头按焦距、光源按尺寸), 每个列表在框内滚动、表头吸顶,并自动滚到当前方案所在行; 相机块与镜头块下方各有一个「跨品牌等价替换」子表(相机比同分辨率/接口/彩色,镜头比同卡口/焦距), 与右侧方案并排——点任意型号即可手动指定,方案会立刻变,不用上下滚动对照; 再点一次取消,或用「恢复自动选型」回到自动结果。 除最优方案外,引擎还会给出最多 3 套备选方案(另一台可行相机 + 其匹配镜头); 属于备选方案的机型,在「够用?」列(相机)或型号列(镜头 / 光源)会标一个「备选」小标签,便于横向比较、点选切换。 镜头与光源还会各自再列 最多 3 个更直接的备选:同一台相机下另一支仍满足精度的镜头(可能是别家品牌或经转接环)、 同一照明方式下尺寸同样够用的另一款灯具(其他品牌优先、超配不超过 2.5 倍),这些也都标在面板里,点选即切换。
  5. 评分下方「选型依据」用同一套口径把首选与次优方案逐项对比(匹配度 / 像素 / 精度 / 余量 / 接口带宽 / 镜头安装), 说清"为什么是它、换一台会让步什么";手动指定型号时不参与对比,只提示一句。
  6. 方案下方「现场参数建议」给出上机可照抄的起始值:光圈档位(可否再收一档)、曝光起始值与上限、增益 0 dB 策略、 软/硬触发与频率、调光与频闪要求;右侧「安装与配套清单」把尺寸链、数据线、触发线、镜头附件、光源支架、控制器、供电一次列全。
  7. 页面下方「验算过程」与「风险与建议」并排在同一行,一边看算式一边看风险;最底部「验收与复核清单」列出重复性、 测量偏差、图像对比度、节拍、环境五项的验收指标与测法,并按当前方案给出重点复核项。
  8. 「复制方案文本」可整段复制到微信/邮件/报告里(含以上四块新内容);方案区下方「方案清单(BOM)」可逐项或整单加入询价清单。
  9. 看到常用的型号,点列表行首(手机为型号旁)的 ☆ 收藏,或在详情弹层点「☆ 收藏」;顶部「★ 收藏」标签只列收藏。 收藏的相机 / 镜头 / 光源会出现在搭配页三个选择器里——不输入关键词时直接列出收藏,点一下即填入。
  10. 想自己搭配:点顶栏「自定义搭配」(或产品库详情里的「加入搭配」)进入 combo.html, 先在「检测需求」填同样的参数,再从三个可搜索的下拉框里挑相机 / 镜头 / 光源—— 系统按与自动选型完全相同的公式逐项判定,列出「要求 / 实际 / 结论」,并针对不达标项给出替换型号; 满意后点「应用到选型助手」把需求与手动选型带回 index.html。

也可以带参数直接打开某个预设(方便发给别人看):

index.html?p=copper     铜线检测
index.html?p=precision  精密测量
index.html?p=qr         二维码读取
index.html?p=scratch    表面划痕
index.html?p=inline     高速在线
index.html?p=glass      玻璃件

二、文件

文件 作用
home.html 主页:四页统一入口、数据速览(实时统计型号库)、手册资料链接
index.html 选型助手页面骨架 + 样式(无依赖),含顶栏「品牌范围」筛选
combo.html 自定义搭配评定页:需求表单 + 相机/镜头/光源可搜索选择器 + 逐项评定与替换建议
combo.js 搭配页逻辑:合并四品牌型号库、解析品牌别名、调用 evaluateCombo、草稿与「应用到选型助手」交接
library.html 产品库:3647 个型号的分类筛选 / 关键词搜索 / 全参数详情 / 分页,同规格跨品牌自动互标备注,型号示意图按真实参数内联绘制(镜筒长随焦距、光源形状随类型、控制器旋钮随通道数),移动端卡片自适应
brands.js 品牌注册表(品牌名 / logo / 全局变量名),接入新品牌先在这里登记
hikrobot-catalog.js 海康型号库(面阵/线扫/镜头/远心/光源),由脚本生成,勿手改
huarui-catalog.js 华睿型号库(面阵 / 线阵 / 镜头 / 光源 / 光源控制器),由 tools/parse-huarui.py + tools/parse-huarui-linescan.py + tools/parse-huarui-lenses.py + tools/parse-huarui-lights.py 生成,勿手改
basler-catalog.js Basler 型号库(面阵 + 线扫 racer 2),由 tools/parse-basler.py + tools/fetch-basler-cams.js 生成,勿手改
basler-lens-catalog.js Basler 镜头库(定焦 + 远心),由 tools/fetch-basler-lenses.js + tools/gen-basler-lens-catalog.py 生成,勿手改
basler-light-catalog.js Basler 灯光库(灯具 + 控制器),由 tools/fetch-basler-lights.js + tools/gen-basler-light-catalog.py 生成,勿手改
hikrobot-3d-catalog.js 海康 3D 传感器库(轮廓 / 结构光 / 物流 3D),由 tools/parse-3d.py 生成,勿手改
hikrobot-ipc-catalog.js 海康工控机库(整机机箱 + 主板),由 tools/parse-ipc.py 生成,勿手改
hikrobot-ir-catalog.js 海康工业红外相机库(CI 系列长波/短波),由 tools/parse-hikrobot-ir.js 生成,勿手改
daheng-catalog.js 大恒图像型号库(面阵 / 板级 + 镜头 + 远心),由 tools/parse-daheng-cams-v2.py + tools/parse-daheng-lenses-all.py + tools/curate-daheng-lenses.py 生成,勿手改
engine.js 选型算路引擎,纯计算、无 DOM,浏览器和 Node 都能跑;暴露 VisionEngineFactory 便于按品牌重建
app.js 界面逻辑:读表单 → 调引擎 → 渲染;多品牌目录合并与品牌筛选在此生效
engine.test.js 100 个单元测试(含多品牌合并 / 镜头·线扫·光源三线双品牌 / 跨品牌等价 / 选优回归 / mount 完备性 / 线扫优先 / 镜头跨品牌选型 / 转接环与景深光圈 / 备选方案与镜头·光源备选标注 / 自定义搭配评定 / 现场参数与配套验收 / 选型依据对比),node engine.test.js 运行
tools/parse-catalog.js 从手册 PDF 抽取海康相机/镜头/远心的生成脚本
tools/parse-huarui.py 从手册 PDF 抽取华睿面阵相机的生成脚本(含线阵合并)
tools/parse-huarui-linescan.py 从华睿手册 p27-29 解析 26 台线阵相机(span 流 + 列名 x 边界 + 重复层过滤)
tools/parse-huarui-lights.py 从华睿手册 p66-78 解析 262 款光源(按 W/R/B 拆色)+ 20 款光源控制器(span 流 + 全列登记边界 + 型号锚点行归属,兼容一页多表与单元格换行)
tools/parse-basler.py 由检索整理的 Basler 规格表生成 basler-catalog.js
tools/parse-daheng-cams.py 从《大恒图像产品型录》解析 275 台相机
tools/parse-daheng-lenses.py 从《大恒镜头产品型录》p5-8 解析 71 支 HN/HN-P 镜头(文本流 + 顺序模式匹配 + 压缩行拆分)
tools/gen-daheng-catalog.py 把大恒相机/镜头中间 JSON 合成为 daheng-catalog.js
tools/fetch-lights.js 从官网抓取光源型号的脚本
tools/fetch-specs.js 从官网逐型号抓取详细参数(动态范围/信噪比/曝光/PoE/功率/控制器)
assets/hikrobot-logo.png 海康机器人 HIKROBOT 字标(仅用于标注数据来源)
assets/huarui-logo.svg assets/basler-logo.svg assets/daheng-logo.svg 华睿 / Basler / 大恒归属标(简化文字标,非官方商标图样)
assets/favicon.ico 站点图标
assets/qr-gzh.jpg assets/qr-mp.jpg 主页「关注与小程序」的公众号 / 小程序二维码
assets/logo/logo-{1024,512,144}.png 小程序 / App 图标(脚本生成)
assets/logo/logo-wordmark.png 横版字标(图标 + 名称)
tools/make-logo.py 生成上述 logo 的脚本(改色/改尺寸重跑即可)
package.json 只用来跑 npm test,不是构建工程
.github/workflows/test.yml 每次 push / PR 自动跑测试
LICENSE MIT

想改选型规则只动 engine.js;想换型号库只重跑对应 tools/parse-*.py; 想加新品牌:在 brands.js 登记 → 写一份 *catalog.js(UMD,挂到 root.XxxCatalog,每条加 brand 字段)→ 在 index.html 引入; 想改界面只动 index.html / app.js。 主页与产品库(home.html / library.html)通过 brands.js + 各 *catalog.js 读取型号库, 新品牌入库后两者的数据速览与产品列表会自动带上该品牌,无需另改。

接入新品牌的最小步骤

  1. 在 brands.js 的 BRANDS 里加一项:key / name / short / logo / color / global(如 daheng: { ..., global: 'DahengCatalog' })。 若用官方字标图(字母占满画布),加 logoScale: 0.8 与自制归属标对齐视觉大小;自制归属标保持主文字占画布 ~80%。
  2. 生成 daheng-catalog.js:UMD 包裹,把整库挂到 root.DahengCatalog,相机每条带 brand: '大恒图像'。
  3. 在 index.html 的脚本区追加 <script src="daheng-catalog.js"></script>(放在 engine.js 之前)。
  4. 顶栏「相机品牌」会自动出现该品牌的可勾选标签;若该品牌带 LENSES,「镜头品牌」筛选条也会出现,无需改引擎。
  5. 相机必须带 mount(C/M12/M42/M58/M72/F/Bare):引擎的镜头匹配对空 mount 直接判不兼容,缺了该品牌相机会被静默排除。
  6. 若提供 LINESCAN(线阵:{model,w,taps,pxH,pxV,lineRate,color,iface,mount,...}),面阵不可行时自动进入线扫比选;表单勾选「优先线扫方案」后随时可看线阵建议。
  7. 若提供 LIGHTS / CONTROLLERS,该品牌灯具会自动进入光源选型(与海康同台比价,取刚好够用的最小规格)与「备选型号」;无需改引擎。

大恒的解析可作参考:tools/parse-daheng-cams.py 用「find_tables 定列区间 + 型号 span 锚点定行 + span 原文定值」的混合策略, 处理了型录里单元格文本垂直错位、行矩形跨行合并、靶面写成 11.1 mm、M/C 双 SKU 拆分等坑。

三、输入项

输入 含义 影响
视野 FOV 宽 / 高 要拍到的范围 mm 决定所需像素数、所需焦距
最小特征 δ 要分辨的最小缺陷/公差 mm 决定像素精度
检测任务 测量 / 缺陷 / 有无 / OCR / 颜色… 决定"每个特征占几个像素"和光源方式
工作距离 WD 镜头前端到工件 mm 与焦距、视场互相约束
被测物材质 金属高光 / 哑光 / 塑料 / 玻璃… 决定光源类型与颜色
目标主色 被测特征的颜色 决定单色光波长
需要彩色相机 颜色区分或真实还原 黑白/彩色、位深、带宽
工件高度变化 沿光轴的起伏 mm 决定所需景深与光圈
运动速度 / 节拍 mm/s、件/分 决定曝光上限、帧率、接口
优先线扫方案 勾选 面阵可行时也一并给出线阵建议(超长幅面 / 高速连续检测)

四、算路口径(可复核)

1. 像素精度

像素精度 = δ / k
k = 每个最小特征需要占用的像素数
任务 k 理由
精密尺寸测量 5 亚像素边缘拟合,要求最严
一般测量 / 定位 / OCR 4 边缘定位需要几个像素
缺陷检测 / 表面质量 3 能把缺陷和噪声分开
有无 / 装配确认 2.5 只判存在性
颜色区分 2 大面积颜色,不需要高分辨率

2. 所需分辨率

H_px ≥ 视野宽 / 像素精度
V_px ≥ 视野高 / 像素精度

在相机表里从小到大取第一台两个方向都满足的(够用就好,不浪费)。

3. 焦距

所需放大倍率 m₀ = 靶面高 / 视野高
所需焦距 f = WD · m₀ / (1 + m₀)

取不大于该值的最大标准焦距(6/8/12/16/20/25/35/50/75/100mm), 这样实际视场只会变大不会裁掉工件。再反算:

实际放大倍率 m = f / (WD − f)
实际视场 = 靶面 / m
有效像素精度 = 实际视场 / 像素数   ← 必须仍 ≤ δ/k,否则升一档相机

4. 景深

DOF = 2 · F · c · (1 + m) / m²      c = 2 像元

从小到大试 F4 / 5.6 / 8 / 11 / 16,取第一个满足「工件高度变化」的; 同时检查衍射:艾里斑直径 2.44·λ·F,若换算到像面 > 2.5 像素就提示。

5. 曝光 / 帧率 / 带宽

曝光上限 = 像素精度 / 运动速度      (保证运动模糊 ≤ 1 像素)
帧率     = 速度 / 实际视场高 × 1.2  (静态拍摄默认 15fps)
带宽     = H × V × 位深 × 帧率

带宽 ≤110MB/s 给千兆网,≤350MB/s 给 USB3,再高给万兆网 / Camera Link。

6. 光源

按「任务 + 材质」查规则表:

情况 照明方式
测量轮廓 / 玻璃透明件 平行背光(精密测量用远心背光)
金属高光面 + 缺陷/划痕 低角度条形光(暗场)+ 偏振
镜面 / 曲面(非缺陷任务) 圆顶(球积分)无影光
字符 / 条码 同轴光
有无 / 定位 高角度环形光
一般表面缺陷 低角度条形光

颜色按「同色提亮、补色压暗」:

目标色 推荐光 互补(压暗用)
黄 / 铜 / 金 黄光 590nm 蓝光 450nm
红 红光 625nm 青光 490nm
绿 绿光 525nm 红光 625nm
蓝 蓝光 450nm 黄光 590nm
黑 / 深色 红外 850nm 白光
未指定 + 金属高光 蓝光 450nm(抑制镜面成分) —
未指定 + 其它 红光 625nm(通用、消色差) —

曝光 < 1ms 或速度 > 300mm/s 时自动改推频闪控制器。

精度预算(实际可达精度)

理论像素精度只是"一个像素多大",页面下方会再算一层工程误差,按均方根合成:

误差项 估算方式
像素量化 1 像素对应的实际尺寸
亚像素定位 0.3 像素(边缘/质心算法)
镜头畸变残差 畸变规格(%)× 视野 / 2 × 20%(标定后残差)
标定与装夹 0.5 像素

合成值若超过"要求的像素精度 δ/k",风险区会提示提高分辨率或加强标定。

安装空间

需要的总长 = 工作距离 WD + 镜头长度 + 相机厚度 + 线缆余量 25mm
  • 相机厚度取自官网外形尺寸(192/300 型号有);缺数据的按 45mm 估并标注
  • 镜头长度:75/85 支取自手册外形尺寸图(HF-E / HF-P / MF-E / MF / MF-10MPE / MF-8MPS / KF / KF-E / KF-P / KF-P 抗振 / AF / M12), 其余 10 支 LF 系列按系列典型值估算;界面标注"手册图"还是"估算"。 图纸是位图 + 双栏排版,需逐张核对图号归属(数据在 tools/lens-lengths.json,可续填;tools/extract-lens-lengths.py 是半自动抽取脚本)
  • 填了「可用安装空间」且超长时,风险区会给出超出多少毫米

现场参数建议

不建照度模型,只给"可照抄的起始值",最终以现场直方图与标准件为准:

项 给什么 怎么算
光圈 当前档位 已在景深允许的最大光圈;下一档按 2·F·c·(1+m)/m² 重算景深,衍射 2.44·λ·F/像元 ≤ 2.5 px 才建议收(说明栏给出下一档的景深与衍射)
曝光 起始值 + 上限 运动:上限 = 像素精度 / 速度 × 1000 ms;静态:先按 2 ms 试拍,钳在相机 expMin~expMax 内
增益 0 dB 优先用照度与曝光把灰度做到 70–80%,增益只在不足时小幅加(≤ 6 dB)
触发 软触发 / 硬触发 + 频率 有速度或节拍 → 硬触发(光电 / 编码器),频率取方案帧率
调光 控制器 + 通道 + 频闪 曝光 < 1 ms 或速度 > 300 mm/s → 要求频闪控制器,脉冲宽度 = 曝光时间

安装与配套 / 验收

  • 安装配套 = 尺寸链(WD + 镜头 + 相机 + 线缆 + 支架 40 + 调整余量 10)+ 接口对应线缆 + 6-pin 触发线 + 镜头附件(转接环 / 滤镜螺纹需按实物口径确认)+ 光源支架与控制器 + 供电功率(按 1.5 倍预留)。
  • 验收清单固定五项:重复性 0.3 像素(3σ)、测量偏差 0.5 像素、图像对比度 ≥ 30(建议 ≥ 60)、节拍、环境(±5 ℃ / 遮光 / 减振); 并按当前方案追加重点项(余量 < 15%、预算占比 > 80%、曝光 < 1 ms、衍射逼近上限、空间不足)。

选型依据(与次优对比)

把首选与次优整机方案按同一套口径(与匹配度分数相同的 scoreOf)逐项对比: 匹配度、相机像素数、像素精度、精度余量、接口 / 带宽、镜头是否需转接。 差异超过容差(分辨率 2%、像素精度 0.5%、余量 1 个百分点)才判"占优 / 让步",否则记"持平"; 全项持平时提示"可互换型号,按供货与价格二选一"。手动指定型号不参与对比。

五、型号库怎么来的、怎么换

型号库 hikrobot-catalog.js 由脚本从手册生成,不要手改:

# 1. 手册转文本(xpdf 的 pdftotext 默认 Latin1,必须显式 UTF-8)
pdftotext -enc UTF-8 -raw "机器视觉标准产品手册-2026.Q3.pdf" stdraw.txt
# 2. 抓光源型号(手册不含光源章节,取自官网产品列表)
node tools/fetch-lights.js > lights.json
# 3. 抓详细参数(动态范围/信噪比/曝光/PoE/功率/控制器,约 800 个请求、20 秒)
node tools/fetch-specs.js > specs.json
# 4. 生成型号库(webref.json 为官网型号对照,用于校正排版丢失的黑白/彩色与接口)
node tools/parse-catalog.js stdraw.txt webref.json lights.json specs.json > hikrobot-catalog.js

补录与重跑的关系:主生成器的输入(pdftotext 文本、官网 webref / lights / specs)不在仓库里,重跑只会覆盖手册主表。 手册中主表漏掉的型号由 tools/parse-hikrobot-gaps.py 之类脚本抽成 tools/_cache/*.json,再用 tools/merge-catalog-add.py <型录.js> <补库.json> --map cameras=CAMERAS:cameras ... 尾部追加:按型号去重、同步 META 计数,除新行外其余字节不动。

抽取逻辑要点:

  • 按章节标题切分「CS / CU / CT / CH 系列 × GigE / USB3 / CameraLink / CoaXPress / 万兆网 / XoFLink」表格;
  • 型号行可能被 PDF 排版拆成多行,脚本会向后合并最多 7 行再取分辨率、像元、帧率、快门;
  • 靶面宽高不直接用「1/1.8"」这类标称值,而是 分辨率 × 像元 算出真实 mm(更准);
  • 黑白/彩色与接口用官网产品列表逐型号校正,避免手册排版串行。

要换自己的品牌/型号库:保持 CAMERAS / LENSES 的字段结构即可,引擎只依赖这些字段:

// 相机
{ model, w, h, pxUm, sw, sh, size, fps, shutter:'Global'|'Rolling',
  iface:'GigE'|'USB3'|..., color:'黑白'|'彩色', mount:'C'|'M42'|'F'|'M58'|'M72', series }
// 镜头
{ model, focal, fmin, fmax, mount, ic /*像面直径mm,未知填null*/, mp /*解析力MP,未知null*/, series }
// 光源(可选,用于把灯具型号接入选型与备选标注)
{ model, type:'ring'|'bar'|'bar_array'|'backlight'|'backlight_parallel'|'backlight_hole'|'dome'|'coaxial'|'line'|'line_high'|'point'|'flat_shadowless',
  color:'white'|'red'|'blue'|'green'|'infrared', size:[宽mm, 高mm], power /*W,未知填null*/, brand }
// 光源控制器(可选)
{ model, channels /*通道数*/, brand }

改完跑一次 node engine.test.js,测试会告诉你有没有算歪。

六、这套算法的边界

  • 主搜索只在面阵相机 × FA/M12 镜头里进行。线扫与远心走独立通道:
    • 线扫给出完整方案:相机型号 + 所需倍率/焦距/像面宽 + 行频需求 + 线光源型号 + 带宽校验; 但线扫镜头需按像面宽度另选(手册未收录线扫镜头)。
    • 远心给出系列 + 倍率,并校验工作距离是否落在该系列 WD 区间内; 景深按 F8 估算(远心实际工作光圈以型号为准),超出范围会明确标为不可行。
  • 板级相机中裸板式(无镜头接口,型号后缀 -B)会被自动排除;-C / -S 分别按 C 口 / M12 配镜。
  • 镜头最近摄距参与筛选:工作距离小于最近摄距的镜头会被剔除,接近时给警告。
  • 大恒镜头/远心的像面直径、靶面、光圈档位、最近摄距按手册同型号行窗口补录(像面覆盖 544/578、最近摄距 576/578); 手册同一格印了两个值、或视场角反算与印刷焦距偏差超 8% 的型号一律不入库,宁缺毋滥,逐条证据见 tools/_cache/_daheng_probe_md.txt。 线阵大像面(BV-L / HN-P 16K)与电动调焦(ELM)按 lensKind 标注,与普通定焦不互为同规格可替换。
  • 固定光圈镜头(手册光圈列只印一档,如大恒 M*-MPW2-R / RV·FV·MV、海康 MVL-KF·MVL-HF,共 170 支):详情页显示 F2.4(固定光圈), 选型时光圈上限取它自己那一档(不再按可收到 F22 计算景深),且不与可调光圈镜头互标同规格。
  • 光源按 类型 + 颜色 + 尺寸 + 功率 在海康 / 华睿两库中选型,并自动匹配控制器型号(同品牌优先、按通道数); 但照度仍需现场试样——工具算不出工件反射率和环境光。
  • 相机详细参数(动态范围/信噪比/曝光/PoE)覆盖官网在售型号(187/300),旧型号显示为 —; 短曝光 + 低信噪比会主动告警。
  • 光源颜色标准系列只有白 / 红 / 蓝 / 红外;绿、黄、青光会退回白光并提示需定制。
  • 焦距只能取库里已有的档位,所以有时「视场略大于需求」(像素被摊薄几个百分点),界面会提示。
  • 景深用几何光学近似,不含镜头像差;微距(m > 0.3)场景误差会变大。
  • 价格、货期、停产状态未入库,最终选型仍需与供应商确认。

七、开发与发布

npm test                 # 等价于 node engine.test.js,102 项全绿才算数

测试覆盖:型号库自洽性、分辨率与颜色/快门约束、型号与镜头像面/卡口/最近摄距匹配、 "取像素最少可行机型"、光学计算自洽(倍率/视场/像素精度)、景深、曝光、光源系列与 SKU、 线扫完整方案、远心工作距离校验、同系列参数分组、手动指定型号、精度预算合成、 安装空间判定、手册尺寸图长度、图示几何、精度不足降级、非法输入、 多品牌合并、镜头/线扫/光源三线双品牌、跨品牌等价、转接环与景深光圈、备选方案与镜头·光源备选标注、 自定义搭配评定(自动方案等价 / 卡口不符 / 解析力不足 / 光源缺失与族别)、 现场参数(光圈档位 / 曝光上下限 / 硬触发与频闪)、安装配套清单与空间判定自洽、验收清单与重点项、 选型依据六维对比与判定自洽(次优按同一口径重新算分)、推荐结果与运行环境 locale 无关。

  • CI:.github/workflows/test.yml,push / PR 自动跑 npm test。
  • 发布:版本号见 package.json 与 Git tag(当前 v1.9.0), 用 gh release create 打 Release。
  • 部署:GitHub Pages 从 main 分支根目录直接托管,纯静态无需构建; push 到 main 后几十秒自动更新。

需要发新版本时:

git tag v1.9.0 && git push --tags
gh release create v1.9.0 --title "v1.9.0" --notes "改了什么"

八、更新记录

版本 主要变化
v1.9.0 网页端整体改版(纯前端 UI,选型引擎与型号库未改动):首屏只给结论——分数 + 一行关键指标 + 三件套速览 + 「详细方案 / 复制方案 / 自定义搭配」三个按钮,评分明细、完整参数、BOM、风险、验算、同系列等细节全部收进「详细方案」,懂得人一眼看完、不懂的再点开;桌面端(≥1021px)默认展开详细方案,参数卡内的「展开全部参数」在桌面直接摊开,原来 5 个折叠条合并成 1 个「工程细节」,折叠条由 6 个降到 1 个(手机端仍全部收起,展开状态由脚本按视口宽度设置,两端互不影响);「同系列参数」由竖排大表改为相机 / 镜头 / 光源三页签 + 右侧实时评分面板(显示分数、与自动方案的差额、逐项指标差),换型号不再上下翻找且保留列表滚动位置;四页视觉基线统一:标题 22px、副标题 13.5px 在标题下方,导航贴右上角 13px 胶囊(自定义搭配的导航此前落在标题左下方、主页此前没有导航,均已修正),内容容器四页统一 1200 居中、顶栏补上统一的 3px 红顶线,断点统一为 ≤1020 / ≤860 两档;产品库桌面取消内嵌滚动改为整页铺开(表头仍吸顶),分类标签由固定横滑改为自动换行(此前 10 个标签总宽 1279px > 容器 1232px,「全部」被裁掉 47px),表格末列补右侧留白,861–1279 增加紧凑档;全站字号上调(正文 15px、输入框 44px、卡片标题 17px);1440 / 1280 / 1024 与 390px 实测四页横向溢出元素为 0,npm test 102 项全绿
v1.8.1 候选排序与运行环境无关(修 v1.8.0 的缺陷):引擎里 4 处排序改用与 locale 无关的码位比较,不再用 localeCompare。此前中文系统按拼音、英文系统按 root 序列给中文品牌名排出相反顺序,同一需求在不同机器上会推出不同的镜头候选(v1.8.0 的 101 项测试在 CI 的英文环境下会挂 2 项,本地全绿);跨品牌镜头面板改为按品牌铺开(每家 3 支)并把「备选」镜头补进面板(此前只按接近程度截断 12 支,型号最多的大恒会占满面板,华睿的等价型号看不见、「备选」标注也随截断丢失);测试 101 → 102(新增「换排序环境推荐结果不变」回归用例),中文与码位两种 locale 下均 102 项全绿
v1.8.0 产品库 2097 → 3647 个型号(四品牌全量重抽 + 手册零散遗漏补录):面阵 / 板级相机 949 → 1615(海康 406、华睿 288、Basler 233、大恒 688)、线扫 44 → 76、镜头 202 → 788(大恒 516 → 578,新增 BV-L 线阵大像面与 ELM 电动调焦;华睿镜头 63 支首次入库)、远心 7 → 240(大恒 211 款,含 TCEL 液态远心)、3D 74 → 119(新增 DLS 振镜 / DPS 投影结构光 / DS5000 / DT TOF / 物流立体)、新类别工业红外相机 10 款(CI 系列长波热像 + 短波 InGaAs,带热灵敏度 / 测温范围与精度 / 焦距视场角等热像专属参数,并可按红外波段筛选);固定光圈镜头修正:手册光圈列只印一档的 170 支(大恒 M*-MPW2-R / RV·FV·MV、海康 MVL-KF·MVL-HF 等)详情页显示 F2.4(固定光圈),选型时光圈上限取它自己那一档(此前按可收至 F22 计算,360 组现场参数用例中有 54 组给出该镜头物理上做不到的光圈与虚假景深,现为 0)、现场参数直接说明景深与曝光不可现场调节,且不与可调光圈镜头互标同规格;同规格跨品牌互认收紧:镜头按卡口 + 焦距 ±12% + 同 lensKind(定焦 / 线扫 / 电动调焦不互换)+ 同固定或可调光圈,远心按卡口 + 倍率区间 + 工作距离区间各放宽 10%;大恒镜头 / 远心的像面直径、靶面、光圈档位、最近摄距按手册行窗口逐型号补录(视场角反算校核焦距,偏差超 8% 或手册同格印两值的一律不入库);远心倍率 / 工作距离单值不再显示成退化区间(1×(固定)、110.2 mm);移动端 390px 实测主页 / 选型助手 / 自定义搭配 / 产品库九类别页签 + 卡片 + 详情抽屉均无横向溢出;测试 100 → 101(新增固定光圈回归用例)
v1.7.0 方案信息补全四块:现场参数建议(光圈档位 / 曝光上下限 / 增益策略 / 触发方式 / 调光与频闪)、安装与配套清单(尺寸链、线缆、镜头附件、光源支架与控制器、供电)、验收与复核清单(重复性 / 偏差 / 对比度 / 节拍 / 环境,按方案追加重点项)、选型依据(把首选与次优按同一口径六维对比);新增独立页 自定义搭配 combo.html:从四品牌库自选相机 / 镜头 / 光源,按同一套公式逐项判定卡口 / 像面 / 解析力 / 精度 / 景深 / 曝光 / 帧率带宽 / 照明匹配,给出分数、等级与可一键替换的改进建议,产品库「加入搭配」可带入型号,满意后回填选型助手;询价清单打通:产品库面板底部固定操作条(复制清单 / 清空),选型助手 BOM 每行「+询价 / ✓已加入」胶囊按钮 + 整单加入;导航统一为四页同一组胶囊导航并高亮当前页;产品库收藏:列表行首 / 手机卡片型号旁 / 详情弹层都可 ☆ 收藏,顶部「★ 收藏」只看收藏,收藏的相机 / 镜头 / 光源在自定义搭配页选择器中直接列出、点一下即填入(本机保存);移动端修复:BOM 窄屏改为堆叠(询价按钮不再被挤出屏外)、验算与选型依据表格改堆叠、全站横向溢出根因修复(网格 minmax(0,1fr));测试 82 → 100
v1.6.0 产品库 2097 个型号:新增 3D 传感器(74)与工控机(20)类别,Basler 镜头(46+22 远心)与灯光(261)入库,线扫方案接入直配线扫镜头(测试 78 → 82);互通:方案卡一键跳产品库、相机 → 适配镜头反查(卡口 + 像面 + 解析力)、跨品牌等价型号列表、多型号横向对比(差异高亮);选型任务新增「高度 / 3D 轮廓测量」:按 X ≥ 视野、Z ≥ 高度变化、Z 重复精度 ≤ 要求、参考距离匹配 WD 自动推荐 MV-DP 轮廓传感器(61 款);产品库新增询价清单(详情一键加入,本机保存,面板汇总/移除/复制)与光源详情「适配控制器」列表(同品牌优先),键盘 ←/→ 翻页;选型助手移动端对齐小程序交互:吸顶分段导航、表单收起为一行摘要、方案卡「展开全部参数」折叠、方案文本底部抽屉
v1.5.0 新增主页(三页统一入口 + 数据速览 + 手册资料直达)与产品库(1672 个型号全参数查询:分类筛选 / 关键词搜索 / 详情弹层 / 分页,型号示意图按真实参数绘制,移动端卡片自适应);选型助手修复移动端宽表格溢出(卡片内滚动)
v1.4.0 华睿光源 262 款 + 光源控制器 20 款入库(光源变双品牌);光源选型跨品牌取最小够用、控制器同品牌优先;镜头 / 光源各自新增「备选」并标注在同系列面板(同相机另一支达标镜头、同一照明方式另一款够用灯具);光源按「同族」匹配(平行面光↔普通面光、环形↔无影等),手动换族时光源表自动跟随;测试 74 → 78
v1.3.0 华睿 / Basler / 大恒三品牌入库(949 相机 / 156 镜头 / 44 线阵);镜头跨品牌等价替换;大口径相机转接环(直配优先);镜头卡「满足景深的最大光圈」;备选方案与「备选」标注;测试 32 → 74
v1.2.0 海康型号库 + 选型引擎 + 同系列参数 + 精度预算 / 安装空间 / 线扫与远心建议

九、关注与小程序

微信公众号 微信小程序
微信公众号二维码 微信小程序码
扫码关注,获取版本更新 手机上选型、查型号

主页 home.html 底部的「关注与小程序」用的是同一组图片。

十、关于标识与数据来源

  • 本项目是个人/第三方选型辅助工具,非海康机器人官方产品,不代表官方推荐或背书。
  • 页面中的 HIKROBOT 字标与站点图标取自海康机器人官网,商标与标识归杭州海康机器人股份有限公司所有, 本项目仅用于标注型号库的数据来源。若需商用或公开发布,请自行评估商标使用规范,或删除 assets/ 下的标识文件。
  • 型号参数来自公开产品手册与官网产品页,可能随厂商更新而变化;采购前请以官方最新资料为准。

About

机器视觉选型工具集:选型助手(视野/精度/任务 → 相机+镜头+光源方案,含 3D 轮廓与线扫路径,附现场参数建议、安装配套、验收清单与次优对比)+ 自定义搭配(自选型号逐项评定与替换建议)+ 产品库(3647 型号全参数查询/对比/反查/同规格跨品牌备注/询价清单,含 3D、工控机与工业红外相机)。四品牌:海康/华睿/Basler/大恒。移动端对齐小程序交互,纯前端离线可用。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages