机器视觉检测--相机
一,相机就是CCD么?
通常,我们把相机都叫作CCD,CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件,都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管,但是在信号的读取和制造方法上存在不同。两者的区别如下:
CCD | CMOS | |
---|---|---|
制造技术 | 比较困难 | 比较容易 (可以转而使用通用半导体制造装置) |
制造成本 | 高价 | 低价 |
消耗电力 | 多 | 少 |
干扰 | 比较少 | 比较高 |
对光的敏感度 | 高 | 不如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英寸 | 11mm | W8.8×H6.6mm |
1/2英寸 | 8mm | W6.4×H4.8mm |
1/3英寸 | 6mm | W4.8×H3.6mm |
1/4英寸 | 4.5mm | W3.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像素,但是宽度方向只有一个像素。通过移动来获取图像。
相比于平面相机,线扫相机主要优势体现在两个方面:
- 更高的分辨率。
- 成像质量更高。(反光产品,柱状体产品)
另外,对于布匹装的连续监测的产品,线扫描相机也非常方便。
但是,相比于面阵相机,线扫描相机成本更高,安装架设难度更高。同时,需要配合编码器来配合触发拍照,需要有这方面的Know-how。
最后,线扫描相机需要使用特殊的镜头和光源。
八,3D相机
目前市面的3D相机根据成像原理不同,主要分为三种。
- 激光类(Laser)
- 多目类(Binocular Vision)
- 光栅类(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的方案不合适,又开始到处找动态地面的方法,发现了我想要的效果直接可以用nigara实现!!!! 于是这个部分就暂时告一段落,今季开始新的方向的学习。 为了快速…...

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

MySQL索引与事务
前言👀~ 紧接着数据库的相关知识,今天讲解MySQL面试中频繁被问到的知识点,索引与事务!!! 如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,如果内容有什么问题的话,欢迎各位评论纠正…...
『大模型笔记』从基础原理出发提升深度学习性能
从基础原理出发提升深度学习性能 文章目录 一. 从基础原理出发提升深度学习性能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 ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最…...

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

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

【机器学习】解锁AI密码:神经网络算法详解与前沿探索
👀传送门👀 🔍引言🍀神经网络的基本原理🚀神经网络的结构📕神经网络的训练过程🚆神经网络的应用实例💖未来发展趋势💖结语 🔍引言 随着人工智能技术的飞速发…...

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

动态规划5:62. 不同路径
动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:62. …...
Python编程学习第一篇——Python零基础快速入门(五)-列表(List)
今天我们来一起学习Python的列表(list),Python中的列表(List)是一种有序、可变的数据结构,可以用来存储多个值。列表可以包含不同类型的数据,例如整数、浮点数、字符串等。以下是关于Python列表…...

c# - 运算符 << 不能应用于 long 和 long 类型的操作数
Compiler Error CS0019 c# - 运算符 << 不能应用于 long 和 long 类型的操作数 处理方法 特此记录 anlog 2024年5月30日...
问题排查|记录一次基于mymuduo库开发的服务器错误排查(回响服务器无法正常工作)
问题背景: 服务器程序如下: #include <mymuduo/TcpServer.h> #include <mymuduo/Logger.h>#include <string> #include <functional>class EchoServer { public:EchoServer(EventLoop *loop,const InetAddress &addr, con…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...