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

  • 1. 焦距
  • 2. 帧率 FPS
  • 3. 视场角 FOV
  • 4. 分辨率
  • 5. 参数测试
  • 6. 镜头畸变问题
  • 7. 光源
  • 其他

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做图像采集的, 但是并不能用于计算机, 只是嵌入式设备. 这里是一些查到的资料:

  • 如何使用opencv读取openmv的视频? 刷机固件 -> 相机标定
  • 如何使用opencv读取图像?
  • 脱机运行openmv

USB工业摄像头模块选择相关推荐

  1. 通过python调用海康威视工业摄像头并进行图像存储,同时使用opencv实时图像显示(数据流问题已解决)

    通过python调用海康威视工业摄像头并进行图像存储,同时使用opencv实时图像显示. 1:图像存储方式 先说情况,本人是做视觉检测的需要高倍率摄像头进行实时检测,也就是需要深度学习进行图片数据处理 ...

  2. 海康工业摄像头调用(linux基于python和opencv)

    1.下载官网客户端(其中包含SDK) 官方网站 海康机器人-机器视觉-下载中心 安装deb文件 sudo dpkg -i deb文件名 2.运行客户端 cd  /opt/MVS/bin/ ./MVS. ...

  3. ESP32-CAM 板载摄像头模块进行简单的图像采集和网络传输。

    ESP32-CAM 是一款集成了 Wi-Fi 和图像传感器的开发板,它可以用于实现基于 Arduino 平台的物联网应用和图像处理等项目.本文将介绍如何使用 ESP32-CAM 板载摄像头模块进行简单 ...

  4. usb网络linux系统安装教程,Linux系统入门学习:如何在树莓派上安装USB网络摄像头...

    Question: 我可以在树莓派上使用标准的USB网络摄像头么?我该如何检查USB网络摄像头与树莓派是否兼容?另外我该如何在树莓派上安装它? 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头板 ...

  5. usb转ttl模块与matlab,USB接口转TTL小板的自检测试

    现在电脑基本上都不会配置DB9串行数据端口了,这给一些喜欢折腾刷机和单片机加载程序的朋友带来了诸多的不便.还好,随着技术的发展,USB接口转TTL的产品越来越成熟,而这种产品主要以采用PL-2303H ...

  6. Linux有问必答:如何在树莓派上安装USB网络摄像头

    https://linux.cn/article-5312-1.html 2015-4-20 17:38    收藏: 4 参考原文:http://ask.xmodulo.com/install-us ...

  7. 手里没有USB转TTL模块调试红外学习模块不要紧,利用最小系统板自己焊接一个

    网友邮来一个红外学习模块,玩起来还不错,利用它可以把我家的电视.空调控制起来,今天给大家分享一下这个模块的调试过程,如果手里没有USB转TTL模块的,可以利用咱们的最小系统核心板,自己制作一个USB转 ...

  8. linux usb 网络摄像头,树莓派|Linux有问必答:如何在树莓派上安装USB网络摄像头...

    Question: 我可以在树莓派上使用标准的USB网络摄像头么?我该如何检查USB网络摄像头与树莓派是否兼容?另外我该如何在树莓派上安装它? 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头板 ...

  9. 网络摄像头的linux系统,Linux系统入门学习:如何在树莓派上安装USB网络摄像头...

    Question: 我可以在树莓派上使用标准的USB网络摄像头么?我该如何检查USB网络摄像头与树莓派是否兼容?另外我该如何在树莓派上安装它? 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头板 ...

最新文章

  1. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
  2. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。
  3. 控制好节奏,踏实做好每件事
  4. Java内存访问重排序的研究
  5. MCtalk教育创业者说:学吧课堂K12领域转型突围之路
  6. caffe安装编译教程Ubuntu16.04(CPU)教程
  7. super函数没有那么简单-super原理剖析
  8. Linux内核系统调用处理过程
  9. 为什么苹果内购总是失败_IOS用户支付失败 购买无法完成解决教程
  10. 最重要的7个Drupal内核模板文件
  11. redis java 缓存服务器_java中对Redis的缓存进行操作
  12. php安装redis扩展'checking for igbinary includes... configure: error: Cannot find igbinary.h'解决方法...
  13. E4/EAS/Eventing System 事件系统
  14. Postman都脱单了,我决定用他女朋友Postwoman了
  15. (day 17 - 快排)剑指 Offer 40. 最小的k个数
  16. 图解deconvolution(transpose convolution)
  17. STM32命名规则 STM32选型手册
  18. 淘宝/天猫API ,获得淘口令真实url
  19. Roslyn 如何获得一个类的引用
  20. Markdown字体转换

热门文章

  1. 通过plarsargs设置uvm verbosity
  2. 习题 3.10 根据函数编写一程序,输入x,输出y值
  3. UNIX/LINUX压缩工具 bzip2详解
  4. 用Qt设计一款单词本软件,采用SQLite数据库
  5. 模电之放大原理以及偏置电路
  6. GoF的23种设计模式速记
  7. PAT题集4.29排名变动
  8. BCD码和压缩BCD码
  9. STM32F207 CAN 波特率500K设置
  10. 矩阵可逆的充要条件及证明