当前位置: 首页 > news >正文

机器视觉检测--相机

一,相机就是CCD么?

通常,我们把相机都叫作CCD,CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件,都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管,但是在信号的读取和制造方法上存在不同。两者的区别如下:

CCDCMOS
制造技术比较困难比较容易
(可以转而使用通用半导体制造装置)
制造成本高价低价
消耗电力
干扰比较少比较高
对光的敏感度不如CCD

二,像素

所谓像素,是指图像的最小构成单位。电脑中的图像,是通过像素(或者称为PIXEL)这一规则排列的点的集合进行表现的。每一个点都拥有色调和阶调等色彩信息,由此就可以描绘出彩色的图像。

例如:液晶显示器上会显示「分辨率 :1280×1024」等。这表示横向的像素数为1280,纵向的像素数为1024。这样的显示器的像素总数即为1280×1024=1,310,720。由于像素数越多,则越可以表现出图像的细节,因此也可以说「清晰度更高」。

三,像素直径

所谓像素直径,是指每个CCD元件的大小,通常使用μm作为单位。
严谨的说,这个大小中包含了受光元件与信号传送通路。(=像素间距,即某个像素的中心到邻近一个像素的中心的距离)。也就是说,像素直径与像素间距的值是一样的。如果像素直径较小,则图像将通过较小的像素进行描绘,因此可以获得更加精细的图像。可以通过像素直径和有效像素数,求出CCD元件的受光部的大小。

假设某个CCD元件的条件如下所示:

  • 有效像素数…768 × 484
  • 像素直径…8.4μm × 9.8μm

则受光部的大小为

  • 横向 768 × 8.4μm = 6.4512mm
  • 纵向 484 × 9.8μm = 4.7432mm

四,CCD的大小

CCD感光元件的大小,一般分为采用英寸单位表示和采用APS-C大小等规格表示这2种方式。
采用英寸表示时,该尺寸并不是拍摄的实际尺寸,而是相当于摄像管的对角长度。

【例】1/2英寸的CCD表示「拥有相当于1/2英寸的摄像管的拍摄范围」。
为什么如此计算呢?这是由于当初制造CCD的目的就是用来代替电视机录像机的摄像管的。当时,由于想要继续使用镜头等光学用品的需求比较强烈,由此就诞生了这种奇怪的规格。主要的英寸规格的尺寸如下表所示。

尺寸对角长度拍摄区域
2/3英寸11mmW8.8×H6.6mm
1/2英寸8mmW6.4×H4.8mm
1/3英寸6mmW4.8×H3.6mm
1/4英寸4.5mmW3.6×H2.0mm

五,快门速度

快门速度,表示CCD或CMOS感光元件中蓄积电荷的时间。
如果快门速度为1/250,则蓄积光的时间为1/250秒。快门速度越快,则元件的受光量越少,相反如果快门速度越慢,则元件的受光量越多。
也可以说,快门速度将起到了调整光量的作用。
关于快门速度和受光量(正确来说应该称为蓄积的电荷量),存在以下的关系:

【例】如果将快门速度基准定为 1/1000秒(1ms),则

  • 快门速度变为 1/500秒(2ms),则受光量变为2倍。
  • 快门速度变为 1/2000秒(0.5ms),则受光量变为1/2。

六,增益

所谓增益,是指将图像信号进行电子增幅的过程。用于图像处理的CCD中,配备了可以通过在暗处拍摄时增幅信号,从而看上去变得明亮的功能。另外,还配有根据拍摄对象的亮度自动进行调整的增益控制功能等。

【例】在1/10000快门速度下拍摄,增加增益前后的对比如下:

七,1D相机(线扫描相机)

面型相机

前面所有我们提到的像素呈矩阵排列的CCD,即为覆盖视觉检测中99%应用的面阵相机。

线型相机

而线阵相机在长度方向目前最多有16K像素,但是宽度方向只有一个像素。通过移动来获取图像。

相比于平面相机,线扫相机主要优势体现在两个方面:

  1. 更高的分辨率。
  2. 成像质量更高。(反光产品,柱状体产品)

另外,对于布匹装的连续监测的产品,线扫描相机也非常方便。

但是,相比于面阵相机,线扫描相机成本更高,安装架设难度更高。同时,需要配合编码器来配合触发拍照,需要有这方面的Know-how。

最后,线扫描相机需要使用特殊的镜头和光源。

八,3D相机

目前市面的3D相机根据成像原理不同,主要分为三种。

  1. 激光类(Laser)
  2. 多目类(Binocular Vision)
  3. 光栅类(Strip Pattern)

1,激光类(Laser)

主要是通过三角反射原理,激光发生器投出激光束照在物体表面,反射回来的光线被CCD接受,然后建模成3D图像。

激光扫描成像

2,双目类(Binocular Vision)

双目立体视觉是指用两台性能相当、位置固定的CCD摄像机, 获取同一景物的两幅图像,通过两个摄像头所获取的二维图像,来计算出景物的三维信息。
在原理上比较类似人类的双目视觉。组建一个完整的双目立体视觉系统一般需要经过摄像机标定,图像匹配,深度计算等步骤。

九,2.5D相机

(详细介绍请参考之前历史文章)通过控制光源从不同角度照明,得到图像凹凸信息产生的阴影图像,而最后合成计算得到3D信息的图像(注:高度“Z”方向不能定量测量,所以叫2.5D)。

原图-->合成图像

来源基恩士官网 

相关文章:

机器视觉检测--相机

一,相机就是CCD么? 通常,我们把相机都叫作CCD,CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件,都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管&#…...

【人工智能】第四部分:ChatGPT的技术实现

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...

小程序配置自定义tabBar及异形tabBar配置操作

什么是tabBar? 小程序的tabbar是指小程序底部的一组固定导航按钮,通常包含2-5个按钮,用于快速切换小程序的不同页面。每个按钮都有一个图标和文本标签,点击按钮可以切换到对应的页面。tabbar通常放置在小程序的底部,以…...

解析《动物园规则怪谈》【逻辑】

鉴赏《动物园规则怪谈》【逻辑】 前言版权推荐鉴赏《动物园规则怪谈》推理游客正方“它”方其他物品 不同规则或纸条的对比联系出现的地方及联系游客入园历程:被“它”污染的过程鉴赏升华 最后 前言 2024-5-31 13:05:38 以下内容源自《【逻辑】》 仅供学习交流使用…...

上传RKP 证书签名请求息上传到 Google 的后端服务器

上传证书签名请求 1.准备环境:OK pip3 install google-auth2.13.0 requests2.28下载 device_info_uploader.py 。 没找到先跳过 选项 1:通过 GCP 帐户使用 device_info_uploader.py 运行脚本。 ./device_info_uploader.py --credentials /secure/s…...

Debian和ubuntu 嵌入式的系统的 区别

随着开源操作系统的日益流行,Debian和Ubuntu这两个基于Linux的发行版本成为了众多开发者和系统管理员的首选。它们各自拥有独特的优势和特点,那么,在选择时,哪一个更适合你呢?接下来,我们将深入探讨两者的关…...

HTML旋转照片盒子

效果图 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" content…...

【UE5 刺客信条动态地面复刻】实现无界地面01:动态生成

2024.6.4更新 昨天半夜意识到生成Cube的方案不合适&#xff0c;又开始到处找动态地面的方法&#xff0c;发现了我想要的效果直接可以用nigara实现&#xff01;&#xff01;&#xff01;&#xff01; 于是这个部分就暂时告一段落&#xff0c;今季开始新的方向的学习。 为了快速…...

AI产品经理系列-如何使用kimi快速撰写用户故事(含提示词)

在AI时代&#xff0c;可能人人都可成为产品经理。 之前我们聊过如何使用kimi协助完成产品需求文档&#xff0c;如何写竞品分析报告&#xff0c;这一篇我们聊聊用户故事&#xff0c;如何使用kimi协助撰写产品需求文档中的用户故事。 在此之前我们先了解下什么是用户故事&#…...

MySQL索引与事务

前言&#x1f440;~ 紧接着数据库的相关知识&#xff0c;今天讲解MySQL面试中频繁被问到的知识点&#xff0c;索引与事务!!! 如果各位对文章的内容感兴趣的话&#xff0c;请点点小赞&#xff0c;关注一手不迷路&#xff0c;如果内容有什么问题的话&#xff0c;欢迎各位评论纠正…...

『大模型笔记』从基础原理出发提升深度学习性能

从基础原理出发提升深度学习性能 文章目录 一. 从基础原理出发提升深度学习性能1.1. 计算(compute)1.2. 带宽(Bandwidth)1.2.1 关于内存带宽成本的推理(Reasoning about Memory-Bandwidth Costs)1.3. 开销(Overhead)二. 总结三. 参考文献Making Deep Learning Go Brrrr F…...

【二叉树】Leetcode 222. 完全二叉树的节点个数【简单】

完全二叉树的节点个数 你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最…...

golang界面设计器,全网少见

今天登录govcl的网站&#xff0c;无意中看到有个简易UI设计器。 对于golang的UI专用设计器&#xff0c;还没在网上真正见过。 之前也用govcl来做过两三个桌面应用&#xff0c;好用是好用&#xff0c;不过要安装Lazarus的IDE来拖动设计UI&#xff0c;还要配置很多东西&#xff0…...

如何在GlobalMapper中加载高清卫星影像?

GlobalMapper在GIS行业几乎无人不知&#xff0c;无人不晓&#xff0c;但它可以直接加载卫星影像也许就不是每个人都知道的了。 这里就来分享一下如何在GlobalMapper中加载高清卫星影像&#xff0c;并可以在文末查看领取软件安装包和图源的方法。 如何加载高清图源 首先&…...

【机器学习】解锁AI密码:神经网络算法详解与前沿探索

&#x1f440;传送门&#x1f440; &#x1f50d;引言&#x1f340;神经网络的基本原理&#x1f680;神经网络的结构&#x1f4d5;神经网络的训练过程&#x1f686;神经网络的应用实例&#x1f496;未来发展趋势&#x1f496;结语 &#x1f50d;引言 随着人工智能技术的飞速发…...

Java如何实现pdf转base64以及怎么反转?

问题需求 今天在做发送邮件功能的时候&#xff0c;发现邮件的附件部分&#xff0c;比如pdf文档&#xff0c;要求先把pdf转为base64&#xff0c;邮件才会发送。那接下来就先看看Java 如何把 pdf文档转为base64。 两种方式&#xff0c;一种是通过插件 jar 包的方式引入&#xf…...

动态规划5:62. 不同路径

动态规划解题步骤&#xff1a; 1.确定状态表示&#xff1a;dp[i]是什么 2.确定状态转移方程&#xff1a;dp[i]等于什么 3.初始化&#xff1a;确保状态转移方程不越界 4.确定填表顺序&#xff1a;根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接&#xff1a;62. …...

Python编程学习第一篇——Python零基础快速入门(五)-列表(List)

今天我们来一起学习Python的列表&#xff08;list&#xff09;&#xff0c;Python中的列表&#xff08;List&#xff09;是一种有序、可变的数据结构&#xff0c;可以用来存储多个值。列表可以包含不同类型的数据&#xff0c;例如整数、浮点数、字符串等。以下是关于Python列表…...

c# - 运算符 << 不能应用于 long 和 long 类型的操作数

Compiler Error CS0019 c# - 运算符 << 不能应用于 long 和 long 类型的操作数 处理方法 特此记录 anlog 2024年5月30日...

问题排查|记录一次基于mymuduo库开发的服务器错误排查(回响服务器无法正常工作)

问题背景&#xff1a; 服务器程序如下&#xff1a; #include <mymuduo/TcpServer.h> #include <mymuduo/Logger.h>#include <string> #include <functional>class EchoServer { public:EchoServer(EventLoop *loop,const InetAddress &addr, con…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...

OCR MLLM Evaluation

为什么需要评测体系&#xff1f;——背景与矛盾 ​​ 能干的事&#xff1a;​​ 看清楚发票、身份证上的字&#xff08;准确率>90%&#xff09;&#xff0c;速度飞快&#xff08;眨眼间完成&#xff09;。​​干不了的事&#xff1a;​​ 碰到复杂表格&#xff08;合并单元…...