机器视觉选型工具集,包含四个页面:
- 主页
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,覆盖 2K
16K)、工业镜头 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 系列:长波 8
14µ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 离线跑,行为完全一致。
- 双击
home.html(Chrome / Edge 均可),从主页进入选型助手,或直接双击index.html。 - 顶部「检测需求」是整行横向表单,填完右侧方案实时刷新,改一个数就重算一次; 其中「可用安装空间」填 0 表示不校验,填了就会检查 WD + 镜头 + 相机 + 线缆是否放得下。
- 顶栏「快速试用」有 6 个预设场景,点一下就有结果。
- 左栏「同系列参数」列出该系列全部型号(相机按像素、镜头按焦距、光源按尺寸), 每个列表在框内滚动、表头吸顶,并自动滚到当前方案所在行; 相机块与镜头块下方各有一个「跨品牌等价替换」子表(相机比同分辨率/接口/彩色,镜头比同卡口/焦距), 与右侧方案并排——点任意型号即可手动指定,方案会立刻变,不用上下滚动对照; 再点一次取消,或用「恢复自动选型」回到自动结果。 除最优方案外,引擎还会给出最多 3 套备选方案(另一台可行相机 + 其匹配镜头); 属于备选方案的机型,在「够用?」列(相机)或型号列(镜头 / 光源)会标一个「备选」小标签,便于横向比较、点选切换。 镜头与光源还会各自再列 最多 3 个更直接的备选:同一台相机下另一支仍满足精度的镜头(可能是别家品牌或经转接环)、 同一照明方式下尺寸同样够用的另一款灯具(其他品牌优先、超配不超过 2.5 倍),这些也都标在面板里,点选即切换。
- 评分下方「选型依据」用同一套口径把首选与次优方案逐项对比(匹配度 / 像素 / 精度 / 余量 / 接口带宽 / 镜头安装), 说清"为什么是它、换一台会让步什么";手动指定型号时不参与对比,只提示一句。
- 方案下方「现场参数建议」给出上机可照抄的起始值:光圈档位(可否再收一档)、曝光起始值与上限、增益 0 dB 策略、 软/硬触发与频率、调光与频闪要求;右侧「安装与配套清单」把尺寸链、数据线、触发线、镜头附件、光源支架、控制器、供电一次列全。
- 页面下方「验算过程」与「风险与建议」并排在同一行,一边看算式一边看风险;最底部「验收与复核清单」列出重复性、 测量偏差、图像对比度、节拍、环境五项的验收指标与测法,并按当前方案给出重点复核项。
- 「复制方案文本」可整段复制到微信/邮件/报告里(含以上四块新内容);方案区下方「方案清单(BOM)」可逐项或整单加入询价清单。
- 看到常用的型号,点列表行首(手机为型号旁)的 ☆ 收藏,或在详情弹层点「☆ 收藏」;顶部「★ 收藏」标签只列收藏。 收藏的相机 / 镜头 / 光源会出现在搭配页三个选择器里——不输入关键词时直接列出收藏,点一下即填入。
- 想自己搭配:点顶栏「自定义搭配」(或产品库详情里的「加入搭配」)进入
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读取型号库, 新品牌入库后两者的数据速览与产品列表会自动带上该品牌,无需另改。
- 在
brands.js的BRANDS里加一项:key / name / short / logo / color / global(如daheng: { ..., global: 'DahengCatalog' })。 若用官方字标图(字母占满画布),加logoScale: 0.8与自制归属标对齐视觉大小;自制归属标保持主文字占画布 ~80%。 - 生成
daheng-catalog.js:UMD 包裹,把整库挂到root.DahengCatalog,相机每条带brand: '大恒图像'。 - 在
index.html的脚本区追加<script src="daheng-catalog.js"></script>(放在engine.js之前)。 - 顶栏「相机品牌」会自动出现该品牌的可勾选标签;若该品牌带
LENSES,「镜头品牌」筛选条也会出现,无需改引擎。 - 相机必须带
mount(C/M12/M42/M58/M72/F/Bare):引擎的镜头匹配对空 mount 直接判不兼容,缺了该品牌相机会被静默排除。 - 若提供
LINESCAN(线阵:{model,w,taps,pxH,pxV,lineRate,color,iface,mount,...}),面阵不可行时自动进入线扫比选;表单勾选「优先线扫方案」后随时可看线阵建议。 - 若提供
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/下的标识文件。 - 型号参数来自公开产品手册与官网产品页,可能随厂商更新而变化;采购前请以官方最新资料为准。


