当前位置: 首页 > 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…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...