【工业视觉-CCD相机和CMOS相机成像的本质区别】

2023-10-26

  在学习工业视觉的起初,一般都是先去了解光源、镜头、相机等概念,在接触工业相机时看到两个概念,即CCD相机和CMOS相机,在网上搜寻了一些资料查询,但都不能很好的对两个概念作本质和直观的解释,下面我根据搜寻的资料进行整合,来介绍下此两种相机成像的本质区别。

概念还是要先提一下:
  CCD,英文全称:Charge coupled Device,中文全称:电荷耦合元件,可以称为CCD图像传感器。CCD是一种半导体器件,能够把光学影像转化为数字信号。 CCD上植入的微小光敏物质称作像素(Pixel)。一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。

  CMOS,英文全称:Complementary Metal Oxide Semiconductor,中文全称:互补金属氧化物半导体,电压控制的一种放大器件,是组成CMOS数字集成电路的基本单元。应用在数字影像领域中,CMOS作为一种低成本的感光元件技术被发展出来。
  市面上常见的数码产品,其感光元件主要就是CCD或者CMOS,尤其是低端摄像头产品,而通常高端摄像头都是CCD感光元件。

好了,这些概念寒暄完看两张图片:
在这里插入图片描述
在这里插入图片描述

这是涡轮螺旋桨在高速运转时分别通过CCD相机CMOS相机拍摄的视频截图。
通过对比,两者都有高速造成的模糊,但很直观的能够看到两者的模糊方式有明显的不同。CCD相机能够尽量保持物体原轮廓,但是CMOS相机看不出来是什么类型的模糊。

通过查阅资料看到,CCD相机是全局曝光,而CMOS相机是卷帘曝光
  全局曝光是传感器上所有像素在同一时刻开启曝光并在同一时刻曝光结束,将物体某时刻的状态成像,对运动物体而言,类似于将物体冻结了,所以适合拍摄高速运动的物体。
  卷帘曝光是逐行(hang)顺序开启曝光,不同行间曝光的开启时刻有个很小的延迟,所以不适合运动物体的拍摄。


根据成像的区别可以得到如下两条区别:

1.CCD的功耗高,CMOS的功耗低

  本质原因就还是成像方式的区别,由于CCD仅有一个(或少数几个)输出节点统一读出,其信号输出的一致性非常好;而CMOS芯片中,每个像素都有各自的信号放大器,各自进行电荷-电压的转换,其信号输出的一致性较差。但是CCD为了读出整幅图像信号,要求输出放大器的信号带宽较宽,而在CMOS 芯片中,每个像元中的放大器的带宽要求较低,大大降低了芯片的功耗,这就是CMOS芯片功耗比CCD要低的主要原因。尽管降低了功耗,但是数以百万的放大器的不一致性却带来了更高的固定噪声,这又是CMOS相对CCD的固有劣势。

2.CCD速度较CMOS慢

  CCD采用逐个光敏输出,只能按照规定的程序输出,速度较慢。CMOS有多个电荷-电压转换器和行列开关控制,读出速度快很多,大部分500fps以上的高速相机都是CMOS相机。


两者做工工艺上的区别导致CCD的画质优于CMOS。

3.CCD的画质优于CMOS

CCD每行像素共用一个“放大器”来进行信号处理,而CMOS则是每个像素单独配备一个放大器,因此同面积下CCD的感光区域要远大于CMOS(毕竟CMOS上要留出更多空间给那些复杂电路)。因此,CCD的画质的会确比CMOS好。

4.CCD的高感画质低于CMOS

CCD的传感器普遍发热量大,尤其是高感光度下更是发热严重,这就导致CCD传感器的热噪点很高,画质下降。而CMOS的功耗则低得多,发热量也就低得多,因此在高感画质上CMOS的画质反而有优势。


查找资料还有以下区别:
在这里插入图片描述
在这里插入图片描述

参考文献:
参考1
参考2
参考3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【工业视觉-CCD相机和CMOS相机成像的本质区别】 的相关文章

  • 基于OpenCV的手势识别完整项目(Python3.7)

    这是我的本科毕设题目 刚开始接触机器学习这方面 感谢CSDN和GitHub上的大佬 网上类似项目很多 方法也有很多 自己顺带进行了整理 边做毕设边分享一下自己学习心得吧 也算是梳理一下所学知识 各大佬有什么好的建议还请指出 不吝赐教 项目简
  • Qt的槽函数崩溃问题

    当Qt的槽函数是一个lambda表达式时 如果传入的方法为引用传递 而你又在lambda表达式里使用了外面定义的stl或类 那么就会崩溃 这是因为Qt的槽函数是一个轮询的过程 第一次你进入这个表达式结束时会进行一次自动析构 第二次进入这个l
  • linux删除文件后没有释放空间

    系统 centos 7 现象 早上收到阿里云短信 发现一台服务器的磁盘空间使用率达到90 昨天晚上已经加了定时任务 难道没有啥用 无奈的我打开电脑 解决 由于已经解决 当时没有截图 查看磁盘空间 df h 找到对应文件 进行删除 rm fi
  • yaml文件的读写

    官方使用文档 https yaml cpp docsforge com 写入 include
  • addr2line命令

    在Linux下写C C 程序的程序员 时常与Core Dump相见 在内存越界访问 收到不能处理的信号 除零等错误出现时 我们精心或不精心写就的程序就直接一命呜呼了 Core Dump是Linux仁慈地留下的程序的尸体 帮助程序员们解决了一
  • Layout Object Tree 创建

    站在老罗的肩膀上 https blog csdn net luoshengyang article details 50615628 每一个HTML标签在DOM Tree中都有一个对应的HTMLElement节点 相应地 在DOM Tree
  • java集合框架--集合接口

    java 集合框架使程序处理集合数组的方法标准化 集合框架包含了一组标准的接口 对这些接口 提供了几个标准的实现工具 LinkedList HashSet 和 TreeSet 集合接口 接口 描述 Collection 集合框架的顶层接口
  • JAVA中sort()函数的使用方法的个人总结

    1 sort 函数的基本格式 默认排序为升序排序 Arrays sort int a int fromIndex int toIndex Arrays sort 数组名 起始下标 终止下标 一个简单的排序例子 import java uti
  • PCB绘制常用规范

    PCB包含四个文件 原理图 原理图库 封装库文件 PCB文件 首先新建一个PCB工程 File gt New gt Project gt PCBProject 1 原理图文件 name SchDoc File gt new gt Schma
  • Python自动化测试实战篇(3)优化unittest批量自动化接口测试代码,ddt驱动+yaml实现用例调用,输出HTMLTestRunner测试报告

    这些是之前的文章 里面有一些基础的知识点在前面由于前面已经有写过 所以这一篇就不再详细对之前的内容进行描述 Python自动化测试实战篇 1 读取xlsx中账户密码 unittest框架实现通过requests接口post登录网站请求 JS
  • LAMP-web平台搭建(Linux+apache+mysql+php)

    一 介绍 apache 实现网页共享传输 MySQL 数据存储 PHP 实现页面解析 浏览器仅能解析简单的HTML语言 无法直接解析PHP语言 二 部署方式 yum 安装 优点 安装部署便捷 快速 缺点 软件版本固定 且版本较低 源码安装
  • OkHttpClient 发送请求示例

    import okhttp3 import java util Map 类名称 OkHttpClientUtil 类描述 OkHttp 客户端 public class OkHttpClientUtil public static Stri
  • linux内存利用率多少合适,如何理解linux服务器中的内存使用率和平均负载

    我使用的是具有128GB内存和24个内核的 Linux服务器 我使用top来查看它的使用量 它的输出粘贴在帖子的末尾 这是两个问题 1 我看到每个正在运行的进程占用很小的内存百分比 MEM不超过0 2 大多数只有0 0 但总内存几乎与第四行
  • 第四章 课后习题

    一 填空题 1 如类果类A继承了B 那么类A被称为 派生 类 而类B被称为 基 类 2 C 的两种继承为 单继承 和 多继承 3 在默认情况下的继承方式为 私有继承方式 4 从基类中公有派生一个类时 基类的公有成员就成为派生类的 公有 成员

随机推荐

  • 【教程】Edraw Max使用教程:Edraw Max快速入门指南

    Edraw Max是一款简单易用的快速制图软件 帮助你轻松创建流程图 网络拓扑图 组织结构图 商业图表 工程图 思维导图 软件设计图和平面布局图等 大多数用户一般不会花太多时间详细阅读用户手册 因此我们编辑了这个快速入门指南 为帮助你尽快开
  • 前端 jQuery 如何将时间转换为yyyy-MM-dd格式的

    可以使用 JavaScript 内置的 Date 对象和其提供的方法来实现将时间转换为指定格式的字符串 具体可以使用以下代码 假设现在的时间是 2023年3月25日 const date new Date 创建一个 Date 对象 cons
  • INSTALL_FAILED_DUPLICATE_PERMISSION 安装失败的问题

    今天在开发的时候遇到一个问题app安装的时候android studio报 INSTALL FAILED DUPLICATE PERMISSION这个东西 然后把以前自己开发的一个项目卸载了 这个项目成功运行起来了 最后发现是我在做第二个项
  • 解决vscode输出中文乱码问题

    原因 输入编码和Windows系统输出编码方式不同 查看vscode编码方式 可以看到vscode中的默认编码方式是UTF 8 接下来通过cmd下的chcp命令查看系统的默认编码方式 936代表GBK 可以看到编码方式不同 解决方法 1 临
  • 基于微信小程序的垃圾废品回收类软件

    随着我国经济迅速发展 人们对手机的需求越来越大 各种手机软件也都在被广泛应用 但是对于手机进行数据信息管理 对于手机的各种软件也是备受用户的喜爱 废品回收类小程序被用户普遍使用 为方便用户能够可以随时进行废品回收类小程序的数据信息管理 特开
  • Pycharm 中文乱码解决,统一设置 UTF-8,再也不会乱码了

    背景 当我们在使用pycharm编写代码的时候 为了避免乱码问题 我们统一用utf 8编码 由于Python源代码也是一个文本文件 所以当你的源代码包含中文的时候 在保存源代码的时候就务必指定保存为UTF 8编码 但是有很的多的小伙伴还不知
  • VMware Workstation 16 Pro 安装及设置

    前言 VMware Workstation 是一个运行在window或Linux系统的软件 使开发人员能够在同一台 PC 上同时运行多个基于 x86 的 Windows Linux 和其他操作系统 本篇文章主要介绍VMware最新版本 VM
  • 键盘录入月份的值,输出对应的季节

    键盘录入月份的值 输出对应的季节 if switch 实现 输入 3 4 5 输出 春季 输入 6 7 8 输出 夏季 输入 9 10 11 秋季 输出 12 1 2 冬季 使用if选择结构语句 import java util Scann
  • Windows批处理获取指定格式的年月日和时间

    Windows批处理获取指定格式的系统年月日和时间 bat命令行输入获取系统当前日期的指定 date T 会打印出当前日期 2 但如果我们只想要日期中的year month day 可以自己定义设置显示日期 如下所示 date x y x的
  • 【概念】FISCO-BCOS证书进行Dapp开发需要注意什么?讲解config.ini,group.id.genesis,group.id.ini

    前言 FISCO BCOS是联盟链 一说到联盟链就少不了证书的存在 无论是节点证书还是加密证书都有着重要的作用 目前证书配置最多的是hyperledger fabric 这一节我们就简单的讲一下爱FISCO BCOS中的证书 证书 首先我们
  • 提升Python程序运行效率的方法总结

    使用Python中的timeit函数测试程序运行效率 def timeit stmt pass setup pass timer
  • python连接Mysql数据库,java读取python脚本实现动态传参以及增删改查等操作的个人学习记录心得

    目录 前言 一 项目的概述 二 Mysql数据库 1 导入数据 2 数据库增删改查 三 java读取python脚本 并实现动态传参 1 初期探索 2 具体实例 a 数据库的删除操作 b 数据库的添加操作 四 其他细节的问题 总结 前言 这
  • Docker安装MySQL

    签名 但行好事 莫问前程 文章目录 前言 一 查看镜像 二 拉取镜像 指定版本MySQL5 7 三 运行容器 数据挂载 四 测试连接 总结 前言 记录Docker安装MySQL的过程 容器数据卷 我们知道Docker通过镜像创建了容器 当容
  • 机器工厂——贪心

    题目描述 小T开办了一家机器工厂 在N N lt 10000 个星期内 原材料成本和劳动力价格不断起伏 第i周生产一台机器需要花费Ci 1 lt Ci lt 5000 元 若没把机器卖出去 每保养一台机器 每周需要花费S 1 lt S lt
  • Android Arouter 框架子类Autowired 报错的问题解决

    对于子类继承父类 父类再继承BaseActivity BaseActivity中使用inject 方法的情况下 需要在父类中写入 Autowired open lateinit var hardware HardWare 在子类中写入 Au
  • 两个小案例

    今天收获了两个小案例 其实对工作都很有启发 把案例和心得在这里记录下来 希望对别人也有帮助 案例1 测试人员在测试系统发现在系统A和系统B之间通过总线通讯 偶尔会出现timeout现象 反馈开发后 开发难以重现 根据简要分析后 认为是测试系
  • Eclipse的中文字体很小

    1 Preferences General Appearance Colors and Font 2 在右侧界面中选择 Basic 展开 找到 Text Font 双击打开 3 设置字体为 Courier New 即可
  • ORAN专题系列-22:O-RU全球前20的主要供应商调研报告

    目录 第1章 O RU新家族概述 第2章 O RU设备供应商详解 2 1 中国 大陆 香港 台湾 2 2 欧洲 2 3 印度 2 4 日本 2 5 韩国 2 6 美国 英国 第1章 O RU新家族概述 可以这样说 O RAN变化最大之一就是
  • 从caffe中新增layer(cpp版本)

    在caffe 中增加一个什么都不做的layer 不考虑forward backward算法 只考虑打通流程 英文教程 https github com BVLC caffe wiki Development developing new l
  • 【工业视觉-CCD相机和CMOS相机成像的本质区别】

    工业视觉 CCD相机和CMOS相机成像的本质区别 1 CCD的功耗高 CMOS的功耗低 2 CCD速度较CMOS慢 3 CCD的画质优于CMOS 4 CCD的高感画质低于CMOS 在学习工业视觉的起初 一般都是先去了解光源 镜头 相机等概念