USB工业摄像头模块选择

摄像头模块的类型 摄像头模块有什么类型?按感光元件类型划分、按用途分类、按接口类型划分... 阅读详情

最近在挑选工业摄像头模块,查了一些资料,现在把简单的经验汇总下。非专业人士,只供基本参考。
主要挑选参数有:


1. 焦距

  • 可以根据下图选择焦距的大致范围。
  • 焦距在35-50mm的镜头都被看作标准镜头,更小焦距称为广角镜头,更大的则为远摄镜头。相同的拍摄距离,焦距长度增加一倍,则被摄体在画面中的大小也增大一倍,但视野缩小了。参考博文:镜头的焦距与视场角简介
    在这里插入图片描述
    在这里插入图片描述

2. 帧率 FPS

  • 可以根据实际需求来选择,一般视频场景都是在24-30FPS,远远高于30则表示视频将更流畅,更逼真。
  • 在捕捉动态视频内容时,帧率越高越好,但相机传输和处理的数据量将会增大。
  • 帧率会随着光照等环境变换而变换,并不是固定的,规格参数上说的是最大帧率。

参考: https://www.onlinemictest.com/webcam-test/
FPS is the number of frames, or images, that your webcam is taking and transmitting every second. This number is affected by the type of webcam that you have, and also by the speed of your computer and the number of tasks that it is engaged in at a given moment…

FPS matters because the higher this nubmer is the more life-like and real the resulting video looks. We are used to seeing movies in the cinema and TV shows displayed at around 24-30 FPS. Generally the FPS of television is higher than that of the cinema.

So if, let’s say, you’re using Skype and the FPS your camera is recording is lower than 24, then that means that the image is going to look a little stuttery to the other side.

A number significantly higher than 30, meanwhile, just means that the video will be more fluid, more lifelike. This fluidity might seem a little odd to our eyes which are accustomed to 24-30 FPS, but generally a higher FPS count is a good thing. It will just look a little less “cinematic”, and a little more “daily soap opera”.

3. 视场角 FOV

  • 以镜头为顶点,以被测目标的可通过镜头的最大范围的两条边缘构成的夹角,称为视场角。 视场角的大小决定了视野范围。视场角越大,视野就越大,目标物体超过这个角就不会被收在镜头里。
    在这里插入图片描述
  • 一般情况下,视场角越大,焦距就越短。根据实际应用场景,选择了视场角,焦距基本就确定了。
  • 最小视场角简单确定:
    α m i n = 2 × a r c t a n ( r d ) \alpha_{min} = 2 \times arctan (\frac{r}{d}) αmin​=2×arctan(dr​)
    其中 d 是最小监控距离, r是所需视野的最大半径. (非专业称呼)

4. 分辨率

  • 需确定最大分辨率和默认分辨率,可以用opencv确定,也可以直接在线检测: Webcam Resolution Test
    在这里插入图片描述
  • 需要注意有些镜头的高分辨率是插值得到
  • 分辨率设置只能是支持的分辨率或按比例缩小
    • 4: 3 的分辨率有:
      160x120, (176x144), 320x240, (352x288), 640x480, 800x600, 960x720, 1024x768, 1280x960, 1600x1200
    • 16:9的分辨率有:
      640x360, 960x540, 1280x720, 1920x1080, 3840x2160
  • 分辨率调整代码
#include <iostream>
#include "opencv2/highgui/highgui.hpp"

using namespace std;

int main(int argc, char* argv[])
{
    cv::VideoCapture cap;
    cap.open(0);    // 打开摄像头
    if(!cap.isOpened())
    {
        cerr << "Couldn't open capture." << endl;
        return -1;
    }
    cv::namedWindow("Camera", cv::WINDOW_AUTOSIZE);
    // 查看默认分辨率
    int width = (int)cap.get(cv::CAP_PROP_FRAME_WIDTH);
    int height = (int)cap.get(cv::CAP_PROP_FRAME_HEIGHT);
    cout << "镜头默认分辨率为: ("
        << width << "," << height << ")" << endl;
    // 查看最大分辨率
    cap.set(cv::CAP_PROP_FRAME_WIDTH, 100000.0);
    cap.set(cv::CAP_PROP_FRAME_HEIGHT, 100000.0);
    width = (int)cap.get(cv::CAP_PROP_FRAME_WIDTH);
    height = (int)cap.get(cv::CAP_PROP_FRAME_HEIGHT);
    cout << "镜头最大分辨率为: ("
        << width << "," << height << ")" << endl;
    // 设置选定的分辨率
    cap.set(cv::CAP_PROP_FRAME_WIDTH, 1280.0);
    cap.set(cv::CAP_PROP_FRAME_HEIGHT, 720.0);
    width = (int)cap.get(cv::CAP_PROP_FRAME_WIDTH);
    height = (int)cap.get(cv::CAP_PROP_FRAME_HEIGHT);
    cout << "镜头分辨率更改为: ("
        << width << "," << height << ")" << endl;
    // 显示输出, 按ESC键退出
    cv::Mat frame;
    while(1)
    {
        cap >> frame;
        cv::imshow("Camera", frame);
        char key = cv::waitKey(33);
        if(key == 27)
            break;
    }
    return 0;
}

在这里插入图片描述

5. 参数测试

  • 第4节中已经提到, 网址是 Webcam Test
  • 可测试项目:
    Check Webcam 参数检测
    Detect Resolution 支持的分辨率检测
    在这里插入图片描述

6. 镜头畸变问题

在网上查了几家的摄像头, 除了上述提到的主要参数, 还有镜头畸变问题. 一般超过120度就会有畸变, 如图所示.
暂时没有镜头标定的经验, 而且对近距离监控项目来说, 80度的视野已经够用, 所以采买的是100度无畸变镜头.
在这里插入图片描述

7. 光源

暂时叠加一层补光灯板, 店铺一般提供, 白光亮度可调, 到货后会尝试效果, 预期是去除阴影
在这里插入图片描述

其他

最初是打算用openmv做图像采集的, 但是并不能用于计算机, 只是嵌入式设备. 这里是一些查到的资料:

完整指南:基于uvc协议的摄像头模块接入入门 深入讲解基于uvc协议的摄像头模块如何快速接入系统,涵盖设备识别、驱动配置与数据流调试,帮助开发者高效实现视频采集功能,掌握uvc协议核心要点。 阅读详情

相关推荐

从拆解到选型:一文搞懂嵌入式摄像头模块(CCM)的硬件构成与接口选择

本文深入解析嵌入式摄像头模块(CCM)的硬件架构与工程选型要点,涵盖镜头组、CMOS传感器、图像处理引擎等核心组件。通过实际案例对比不同传感器和接口协议的性能差异,提供从拆解到集成的实用指南,帮助工程师在Camera Compact Module选型中做出最优决策。

weixin_30566063的博客 430

摄像头模组镜头选型参考

摄像头模组镜头选型需要综合考量光学、物理和图像指标。关键光学参数包括焦距、光圈、视场角、畸变和相对照度;物理指标需关注尺寸、接口、材质和对焦方式;图像质量评估涵盖分辨率、像差控制和信噪比等。选型流程应明确应用需求,做好传感器匹配,进行原型测试并评估成本。不同应用场景有差异化需求:智能手机注重薄型大光圈设计,安防监控需要宽动态范围,汽车ADAS强调温度稳定性,工业视觉追求高精度。工程师需在各指标间寻找平衡,结合新技术发展趋势,做出最优选择。

ISP行业的忠实粉丝 1446

ESP32-S3 AI视觉摄像头模块开发实战:从环境搭建到智能应用部署

本文详细介绍了ESP32-S3 AI视觉摄像头模块的开发实战,从硬件选型(如OV2640/OV5640摄像头)、环境搭建到图像采集和AI应用部署。重点讲解了人脸检测和物体识别的实现方法,并提供了性能优化技巧,帮助开发者快速上手边缘AI视觉项目开发。

play7的博客 833

关于镜头选型时的一些注意事项

假如镜头的靶面范围无法涵盖整个 sensor,则成像圈会被看见,实际成像的图像四周会伴随严重的边缘暗角,在这个状态下,视角会被成像范围所限制(如下图左边的情况)。一般我们是先根据产品具体的应用场景,去定义一个合适的景深范围,然后再去对应的景深表上,找到满足景深范围的对焦距离,以此距离来对焦,然后点胶即可。GC4653上,中心:220线清晰,为什么4M 的镜头比2M 的镜头解析力还要小?景深范围是指摄像头在纵向距离上,能看清楚的最远点,和能看清楚的最近点之间的范围,它是可变的,由点胶距离决定。

一只特立独行的zhu.. 3646

STM32F429开发板摄像头模块源码实战

STM32F429开发板是由STMicroelectronics(意法半导体)生产的一款高性能ARM Cortex-M4微控制器。它支持最高180 MHz的运行频率,并拥有高达2MB的闪存容量和256KB的SRAM。除此之外,该开发板还整合了丰富的外设接口,如USB OTG、以太网、多种通信接口(I2C、SPI、UART)和图形显示接口等,使之成为进行多样化应用开发的理想平台。在嵌入式系统中,硬件驱动开发是不可或缺的一环,它确保了操作系统能够有效地与硬件进行通信。

weixin_30533301的博客 775

OpenMV摄像头模块开发全栈实战项目

简介:本项目系统讲解OpenMV摄像头模块的图像处理与数据分析技术,涵盖从基础编程到高级应用的完整流程。OpenMV基于Python开发环境,广泛应用于物联网和自动化领域。通过学习本项目的系列代码,你将掌握图像坐标系统、目标检测(如圆形识别)、串口通信、距离测量、坐标校正及动态追踪等核心功能,深入理解嵌入式机器视觉的工作机制,并具备将其集成到机器人、智能控制等实际系统中的能力。

weixin_42668301的博客 681

镜头选型相关事项

简单来说,如果 sensor 是400万分辨率,这时如果搭配一款200万分辨率的镜头,那相机最后的解析力肯定是无法达到400万分辨率相机的成像效果( 镜头分辨率的正确表达不应该是几Mega,2M、8M镜头实际上是商业用语,镜头的分辨率应该是 lp/mm)。畸变是属于镜头像差中的一种,和镜头的固有特性相关,在镜头端是没办法完全消除的,而 好一些的镜头因为光学设计以及用料的考究,可以把畸变控制在很小的情况下。我们拿到手的一般都是摄像头模组,在进行摄像头调试时,必须要找模组厂、镜头厂去确认镜头及模组的相关信息。

Geektec的专栏 1751

摄像头选型参数详解.pdf

摄像头模组选型需考虑: 1.分辨率 2.sensor型号 3.镜头 4.曝光方式

计算摄影 | 摄像机成像原理及参数解析

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达本文转载自有三AI本期主要对数字成像系统进行概述总结,行文主要分为:数字成像系统组成、摄像头关键部位概述、ISP概述、关于摄像头相关的技术指标概述以及总结。现在互联网资源比较丰富,本文只提出每个部分的关键知识点,读者如果有兴趣可以进一步深入检索进行学习。 1 数字成像系统组成对于人眼来说我们观察到一个物...

小白学视觉 4714

非常完整与详细的摄像头模块OV9650的资料

非常完整与详细的摄像头模块OV9650的资料。

FPGA远程升级避坑指南:用AXI Quad SPI IP读写N25Q128 Flash的完整流程

本文详细介绍了FPGA远程升级过程中使用AXI Quad SPI IP读写N25Q128 Flash的完整流程,包括IP核配置、Flash操作指令集、双镜像备份设计及生产级远程升级协议。通过最佳实践和避坑策略,帮助开发者实现可靠的镜像更新方案,提升系统可靠性和可维护性。

weixin_30542079的博客 673

摄像头镜头模组的设计要点

摄像头镜头模组的设计要点涉及光学、机械、电子等多个维度的协同优化,以下是关键设计要素:

Villon的博客 771

LC与RC滤波电路实战对比:从原理到选型指南

本文深入对比了LC与RC滤波电路的核心原理与实战应用。LC滤波利用电感与电容的无损能量搬运,适合高频、大电流电源滤波,效率高但需注意谐振风险;RC滤波通过电阻消耗能量实现滤波,结构简单、成本低,适用于低频信号处理或小电流供电场景。文章提供了从工作原理、性能维度到具体选型的完整指南,帮助工程师根据项目需求(如频率范围、负载电流、效率)做出精准选择。

weixin_29240711的博客 499

摄像头模块的接口类型

摄像头模块的接口类型直接影响其与主控设备(如处理器、SoC)的连接方式、数据传输速率、功耗以及应用场景。以下是常见的摄像头模块接口类型及其特点:

Villon的博客 2241

【抖音】a_bogus参数逆向分析

点击——展开xxx条回复﹀就会出现。可以看到这个栈是有请求相关的数据的。所以就是在bdms.js里面生成的。

qq_44990881的博客 3000

Linux文件操作四剑客

① /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 yyyy-MM-dd / yy-MM-dd 格式。⑥“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数。

wuds_158的博客 1610

摄像头模块的线缆定义及常见问题解答

摄像头模块的线缆定义因接口类型、制造商和用途不同而有所差异。以下是常见接口类型的线缆功能分类及详细说明。

Villon的博客 2043

告别调参玄学:用 DINOv2 (ViT-S/ViT-G) 和 PCA 可视化,直观理解自监督特征

本文深入解析了DINOv2(ViT-S/ViT-G)模型在自监督学习中的特征提取机制,通过PCA降维技术实现特征空间的可视化。文章对比了不同规模模型的特征表达差异,并提供了PCA阈值调优和深度分析的实用技巧,帮助读者直观理解自监督学习的视觉密码。

weixin_42565865的博客 410

Innodisk三款USB摄像头模块在AI视觉领域的应用解析

USB摄像头模块作为计算机视觉的基础硬件,通过图像传感器和光学镜头实现环境感知。其工作原理是将光信号转换为电信号,再经数字处理输出视频流。在AI应用中,摄像头模块的技术价值体现在提供高质量的原始数据,直接影响算法模型的准确率。工业级USB摄像头凭借稳定性和环境适应性,在智能停车、医疗监护、零售分析等场景发挥关键作用。Innodisk推出的三款模块(EV2U-RMR2、EV2U-SGR1、EV2U-RMR1)分别针对HDR成像、低光性能和超薄形态优化,支持UVC协议即插即用,满足不同AI视觉需求。其中HDR和

weixin_30596023的博客 594

Cortex-M TrustZone实战:从硬件隔离到安全交互的嵌入式开发指南

在嵌入式系统开发中,硬件安全隔离是构建可信执行环境(TEE)的核心技术。其原理是通过处理器硬件机制,将系统资源划分为安全与非安全域,实现内存、外设和代码的强制访问控制。这项技术的核心价值在于,它能在单一芯片上为资源受限的物联网(IoT)设备、智能传感器等提供芯片级的安全基础,无需依赖外置安全元件,从而降低BOM成本并简化设计。典型的应用场景包括保护设备密钥、实现安全启动、构建安全服务(如加密、密钥管理)以供应用程序调用。本文聚焦于Arm Cortex-M系列微控制器上的TrustZone技术实现,针对开发中

weixin_42639246的博客 300

Visual Studio 6.0 镜像下载全指南:从企业版到中文版

本文提供Visual Studio 6.0企业版和中文版的镜像下载全指南,包括详细版本解析、已验证的下载链接及校验信息。针对现代系统的安装技巧和兼容性处理方案,帮助开发者高效获取并运行这一经典开发工具,特别适合维护遗留系统的专业人员。

weixin_33712987的博客 1018

STM32F103RBT6OV7670山外调试助手usb传输代码仓库:让图像传输更简单

STM32F103RBT6OV7670山外调试助手usb传输代码仓库:让图像传输更简单 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 STM32F103RBT6OV7670山外调试助手usb传输代码仓库是一个基于STM32F103RBT6微控制器和OV7670摄像头模块的图像采集与传输解决方案。该代码仓库集成了OV7670摄像头驱动和USB传输功能,能够将摄像头采集的...

gitblog_06732的博客 952

用 Docker 一键部署 SillyTavern酒馆 mac/windows/linux通用教程,我再也不手动折腾了!

本文介绍了如何使用 Docker 一键部署 SillyTavern 项目,适用于 Mac、Windows 和 Linux 系统。SillyTavern 是一个本地部署的大语言模型聊天界面,支持多种插件和扩展。文章详细说明了安装 Docker、拉取项目、启动容器、配置白名单、启用插件等步骤,并提供了常见问题的解决方法。通过 Docker 部署,用户可以避免繁琐的手动配置,快速搭建和运行 SillyTavern,适合希望简化部署流程的用户。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2622

信迈AM5728开发板 USB3.0工业相机开发

3.2 OpenCv+OpenCL+OpenGL Demo例程测试 将配套USB摄像头模块连接到 AM57x 开发板的 USB 3.0接口,连接HDMI显示屏到开发板HDMI接口,断开LCD显示屏与开发板的连接,否则影响 HDMI 显示输出;连接鼠标到开发板USB 2.0接口。开发板上电启动,进入开发板系统后,移动鼠标点击桌面的"Video Analytics Demo"图标,进入如下界面: 图8 点击"OpenCv+OpenCL+OpenGL Demo"图标后,点击 RUN 运行程序。在弹出

YEYUANGEN的专栏 915

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【MCU】【GD32】基于GD32+OV5640的摄像头模块学习记录

在信息载体中,图像包含的信息最为丰富。作为机器视觉领域的核心组件,摄像头的应用场景十分广泛,涵盖安防监控、野外探险、车牌识别检测等多个领域。按输出信号类型:可分为数字摄像头和模拟摄像头。数字摄像头输出的是数字信号,能直接与数字设备(如计算机、单片机等)进行数据传输和处理。模拟摄像头输出的是模拟信号,通常需要经过模数转换后才能被数字设备处理。按图像传感器材料构成:可分为 CCD(电荷耦合器件)摄像头和 CMOS(互补金属氧化物半导体)摄像头。

qq_73648789的博客 2264

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

摄像头模组与摄像头模块的区别

摄像头模组集成多部件实现图像捕捉,应用于紧凑集成产品;模块功能更灵活,用于扩展性高项目。模组设计需性能优化,制造复杂;模块侧重功能实现及兼容性,工艺差异大。

Villon的博客 673
上一篇: MXNet:目标检测与SSD
下一篇: openCV+C#混合编程的简单实现
\lambda
博客等级 码龄11年 200粉丝 83原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值