我眼中的《视觉测量技术基础》

news2024/11/30 10:47:48

为什么会写这篇博客:

首先给大家说几点:看我的自我介绍对于学习这本书没有任何帮助,如果你是为了急切的想找一个视觉测量的解决方案那可以跳过自我介绍往下看或者换一篇博客看看,如果你是刚入门想学习计算机视觉的同学,那整篇文章读完你可能会觉得一无所获也可能会收获到意想不到的东西,接下来是我的自我介绍。

1.自我介绍

我,一个普普通通的大高个,今年大学刚毕业,以前写博客的初衷是想记录一下自己学习的过程,所以哈我的博客很随性,有突发奇想的创作、连续学习的笔记、简简单单的应用…有的粉丝问我一些系列还有更新吗?答案是肯定的,首先澄清一点,有一些以前的博客被我删除了,可能有的粉丝之前关注收藏了,后来看不到了,在此说一声抱歉,后续会更新的,删除的原因是在某天我回顾我的博客时,感慨之下删除了40篇博客,觉得质量不高(主要粉丝放映有的博客图片不显示了),越学越菜的感觉激励我接下来更新的每一篇博客都尽力向高质量看齐吧。

2.事件背景

一次偶然的机会,我发现非计算机视觉专业的人对普通的相机和工业相机有认知上的不同。

同样都是相机:
为什么工业相机拍摄时还需要光源?
为什么工业相机拍远处物体需要图像矫正?
为什么在检测面板上面板颜色和被检测物颜色相近就很难检测?
为什么一些情况我们人眼能区分但是在图像处理方面不好实现?
普通的USB摄像头能不能替代工业相机?

上述只是我列出的部分问题,虽然我尽力为其解答,但是最终还是把我问的无话可说。不全面考虑环境因素分析影响成像效果的图像处理只能是纸上谈兵,在我看来实际应用就得多看、多想,不但要知其然还要知其所以然。在我看来图像就是矩阵,可能没有学过很难理解,这就应了那句话“各行如隔山”。
我和我的导师提起这件事,我的导师给我列了两个公式计算出了选型时所需的一些参数,我突然意识到,为啥我没有想到呢?我庆幸毕业时候我只把书都寄回来了(运费比书的价格高,但是书的价值高),我忙翻出了那本《视觉测量技术基础》,是的,有讲呀,实际应用的时候到了!我决定利用工作的空余时间去把这本书看完,以通俗易懂的文字记录我的学习过程。如果是大牛看我这篇博客可能学不到啥哈,如果小白那应该会让你对视觉测量有一定的了解,书中的每一行我不会精读(注:要是前言都精读那写博客的时候我难受,看的时候你兴许都没有看下去的耐心了),例如前言之类的,可能也就像论文摘要那样一笔带过了。其中一些推导过程我会手写或代码实现,跟着我来看看吧,看这篇博客时候可以吃着零食喝着可乐,注意别撒电脑上面就行。

注意:本篇博客本不会去解析书上每一个公式,例如辐射度量计算公式这一类的物理学推倒公式,但是会去解析一些与图像处理相关的公式,每一章节的学习不会按部就班的把所有的内容深度的解析,只会涉及一些我感兴趣且小白易于接受的内容。


学习内容:我眼中的《视觉测量技术基础》


学习产出:

映入眼帘的是书籍封面上好多束光与三个不同样式的电子显微镜,打开书,我的书中掉出了很多张纸,源于我每次上课都要手写笔记的习惯,这是在小学就养成的习惯了,在此特别要感谢我的父亲,从小学到初中便答应我以5元每张手写笔记的价格回收我的笔记(其实我也算不清多少笔记了,始终也没正式的兑换过,也没有具体的交易时间与地点,因为是一次性兑换原则,我总想攒着买电脑,后来养成习惯了,也就不在意回不回收的问题了)。

第一章 绪论

  • 计算机视觉的发展,始于20世纪50年代
  • Marr视觉理论

1.Marr视觉理论从信息处理系统角度将系统研究分为:计算理论层次、表达与算法层次、硬件实现层次,通俗讲就是:1.解决什么问题,怎么计算,为什么这么算;2.定义计算的方法以及输入输出的意义,建立关系;3.硬件部署;
2.Marr从视觉理论角度出发,通过早、中、后期的视觉处理将原始二维图像到三维环境的表示;
3.基于其输入什么就处理什么、目的总是恢复场景中物体的位置与形状、不足够重视高层知识的指导作用以及无反馈的不足,提出了改进。其实通俗来说就是:我们眼睛都是主动去看、主动去选、可根据我们的意识去判断与调整的反馈机制;

  • 计算机视觉的研究内容

1.输入设备:各种探测成像的设备,例如:相机;
2.低层视觉:图像滤波、增强、边缘检测、角点检测等,我通常用opencv去实现这些效果;
3.中层视觉:立体视觉、测距成像、运动估计;一些2.5维的信息;
4.高层视觉:建立三维物体的完整图像、位置与方向;
5.体系架构:在高度抽象的层次上,根据系统模型而非实际设计的例子来研究系统的结构;书上举例说根据清朝时期的建筑风格和根据这种风格设计出来的具体建筑之间的区别。

  • 计算机视觉的问题

1.多义性:图像是二维的丢失了深度信息,例如在不同角度拍摄同一物体图像差异很大,我们能理解其是一个物体是因为我们可以从触觉、视觉等不同角度感受这个物体,而对于计算机来说却是不可想象的;
2.环境因素:光源角度、方向、空气条件、物体颜色、相机的空间位置等都会对图像产生影响;就例如本篇博客开头“事件背景”中提到的非计算机视觉专业的人可能不会去考虑那么多,但是实际应用可能就是平台旁边的一扇窗户的开关都得考虑进去,可能就因为一扇窗户的开启,人眼看着没有区别的图像在计算机看来天差地别。
3.需要让计算机去理解自然景物需要大量的数据集,需要人员去标注,这就引出了深度学习。通俗来讲,计算机就是一个孩子,看的多了也就会了,一幅图像我告诉计算机其是什么,那实现的是分类,我需要计算机检测出其中某一物体在图像中的位置,首先需要大量的数据集进行标注也就是人工去画框框然后存成特定格式作为输入去训练模型,有训练集、测试集、验证集,就像考试刷题一样,做的多了就会了。

  • 视觉应用

有摄像头的地方就可以做视觉检测,应用例如:三维重建、缺陷检测、机器人导航等。可以说视觉是一个很有发展前景的方向。

第二章 人类视觉

在这里插入图片描述

  • 三基色学说:红、绿、蓝三种颜色组成其他颜色。这就是为啥彩色图像rgb三通道。
  • 感受野:视网膜面上受到点状光源照射时每个神经元都有的响应区域。感受野越小,仅从有限的区域接受信号故空间分辨率高,反之则低。
  • 视觉暂留:当帧率高于16fps时,人眼就认为是连贯的。(也就是1秒内播放16张图像以上)
  • 视觉对比:由光刺激在空间上的分布不同所引起的视觉经验,分为明暗对比与颜色对比。

明暗对比:白盘子中找黑李子,黑盘子中找白米饭肯定比白盘子中找白米饭来得容易,但是注意这只是相对的,如果打了一束强光射到盘子上面,可能什么都看不到,故引出另外一点就是:物体的亮度不仅取决于其照明与其反射系数,环境亮度不同可产生不同的亮度感觉。

  • 颜色对比:物体颜色会受到周围颜色的影响。简单来说就例如一个灰色物体在红色背景下呈绿色,黄色背景下呈蓝色,向着补色方向发展。
  • 视错觉:看物体时,基于经验或是参照物不同造成的错觉。仔细观察下面的图片是不是在转动?
    在这里插入图片描述在这里插入图片描述
  • 马赫带效应:如下图所示,在明暗交界处亮处更亮,暗处更暗。
    在这里插入图片描述
  • 赫尔曼格子错觉:如下图,是不是感觉后有黑色圆点闪烁?
    在这里插入图片描述

第三章 光辐射与光源照明

  • 了解什么是电磁波?什么是光辐射?

电磁波的频率范围广,涵盖宇宙射线到无线电波,电磁波按照波长列成可视化的图表即电磁波谱。
0.38~0.78μm波长的电磁波能引起人眼视觉感,此范围内的便称之为光辐射。
在这里插入图片描述

  • 常见光源有什么?

1.热辐射光源(白炽灯、卤钨灯)
2.气体放电光源(汞灯、低压钠灯)
3.LED光源(磷化镓LED(加入锌和氧时发红光、锌和氮时发绿光)、砷化镓LED(可产生高频光束)、磷砷化镓LED(可制成发光颜色不同的LED))
4.激光光源(固体、气体、液体、半导体、光纤)

  • 照明光源(对项目光源选择很重要)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
1.环形光源:光线与相机光轴近乎平行,均衡、无闪烁、无阴影。例如工业显微、工件检测、电路板检测等;
2.低角度环形光源:光线与相机光轴近乎垂直,为反光物提供360°无反光照明,均匀,适用于微不平坦的表面。例如高反射材料表面、晶片玻璃划痕及污垢、刻印字符、圆形工件边缘、瓶口缺损检测等;
3.均匀背景光源:突出物体外形轮廓、低发热、光线均匀、无闪烁,适用于轮廓检测、尺寸测量、透明物体缺陷检测,如外形检测;
4.条形光源:适用于较大被检测物的表面照明,亮度与安装角度可调、均衡、无闪烁。例如:金属表面裂缝检测、胶片和纸片包装破损检测、定位标记检测等;超市中扫描条形码就使用条形光源;
5.碗状光源:具有积分效果的半球面内壁。均匀反射从底部36°发射出的光线,使整个图像的照度非常均匀。适用于透明物体内部或立体表面检测(玻璃瓶、滚珠、不平整表面、焊接检测、线缆检测等);
6.同轴光源:光线与相机光轴平行且同轴,可消除因物体表面不平整引起的阴影从而减少干扰。适用于反射度极高的物体(金属、玻璃、胶片、晶片等)表面划伤检测,如金属面划痕检测。

  • 照明方式

在这里插入图片描述

  • 照明颜色:使用互补色光线照射物体时可以使物体成像颜色趋近与黑色,可以增加对比度,更加便于区分。

第四章 光学成像与图像采集

  • 镜头:由多个透镜、可变光圈和对焦环组成,相当于晶状体。
  • 工作距离、视场、焦距与CCD芯片尺寸关系

在这里插入图片描述

第五章 图像基础

  • 图像的产生:照射源+形成图像的场景元素对光能的反射或吸收相结合=图像
  • 图像(记录方式不同):模拟图像(analog image)、数字图像(digital image)
  • 简单来说,相机拍摄的图像是模拟图像,计算机需要处理数字图像,模拟图像通过采样(sampling)与量化(quantization)两种操作实现模拟图像转数字图像即数字化。

采样是啥?

一张照片经过采样后变成离散图像,采样点即像素,图像就是一个WxH的矩阵,W和H越大相当于图像分辨率越高、数据量越大、失真越小。这里简单写一个关于采样的程序,模拟采样的过程。

量化是啥?

将采样点亮度值离散化,即将亮度连续变化的区间转换成单个特定数码的过程。

  • 均衡量化:原图像灰度层从最暗至最亮均匀分为有限个层次;
  • 非均匀量化:即不均匀;
  • 图像文件格式
文件格式应用背景数据压缩方式
BMPWindows改进的LZ77压缩法
TIFF支持多平台与操作系统RLE
GIF网上图像在线传输RLE、Huffman、LZW(字典压缩)等
JPEG存储照片图像RLE4、RLE8或不压缩
  • 图像分类:

依据图像动与不动分为静止图像和运动图像;
依据图像维数可分为二维和三维;
依据图像辐射波长不同可分为X射线图、紫外线图、可见光图像、红外线图像、微波图像等;
依据图像的强度或颜色等级划分可分为二值图像、灰度图像、索引图像、RGB图像;
依据成像传感器类别划分,图像可分为电视图像、红外图像、雷达图像、超声图像、X射线、核磁共振图像。

  • 彩色图像

红、绿、蓝为三基色。

这篇文章是今天无意间在草稿箱中发现的,还是我上学时候写的,转眼已经过去一年有余,好久没更新了,本来想着把他写完再更新,一看要写的东西太多了,包括后面如何对图像处理,原理是啥?怎么实现?对于才入门的小伙伴来说,看书肯定比看我在这唠嗑强,所以直接发布了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/991650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8 目标检测及图片裁剪

前言 之前我们已经训练了识别是否佩戴口罩的模型文件,可以有效识别人群是否口罩,本文将会讲解如何将识别到的目标裁剪出来 目标识别 需要指定 save_txtTrue,保存数据标注文件 txt yolo predict modelruns/detect/train26/weights/best.pt…

一文带你快速入门『YOLOv8』

前言 本文是 YOLOv8 入门指南(大佬请绕过),将会详细讲解安装,配置,训练,验证,预测等过程 YOLOv8 官网:ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONN…

AjaxJavaScriptcss模仿百度一下模糊查询功能

1、效果 如下图所示,我们在输入大学时,程序会到后端查询名字中包含大学的数据,并展示到前端页面。 用户选择一个大学,该大学值会被赋值到input表单,同时关闭下拉表单; 当页面展示的数据都不符合条件时&…

华为云云耀云服务器L实例评测|基于云服务器的minio部署手册

华为云云耀云服务器L实例评测|基于云服务器的minio部署手册 【软件安装版本】【集群安装(是)(否)】 版本 创建人 修改人 创建时间 备注 1.0 jz jz 2023.9.2 minio华为云耀服务器 一. 部署规划与架…

Python程序设计实例 | 条形码图片识别

* 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符…

腾讯云和阿里云2核2G服务器租用价格表对比

2核2G云服务器可以选择阿里云服务器或腾讯云服务器,腾讯云轻量2核2G3M带宽服务器95元一年,阿里云轻量2核2G3M带宽优惠价108元一年,不只是轻量应用服务器,阿里云还可以选择ECS云服务器u1,腾讯云也可以选择CVM标准型S5云…

JS中 bind()的用法,call(),apply(),bind()异同点及使用,如何手写一个bind()

✨什么是bind() bind()的MDN地址 bind() 方法创建一个新函数,当调用该新函数时,它会调用原始函数并将其 this 关键字设置为给定的值,同时,还可以传入一系列指定的参数,这些参数会插入到调用新函数时传入的参数的前面。…

项目(智慧教室)第五部分,Zigbee采集控制功能实现

一。IAR工程针对Zigbee的修改 补充:硬件配置 (1)拨码开关拨到公口处,协调器的连接 (2)协调器的烧写(Zigbee协调器也需要烧写) (4)温湿度模块的烧写 1.寻找Z…

工具 | XShell的学习与使用

工具 | XShell的学习与使用 时间:2023年9月8日09:03:29 文章目录 工具 | XShell的学习与使用1.下载2.安装 1.下载 1.官网XSHELL - NetSarang Website 2.免费版下载:家庭/学校免费 - NetSarang Website (xshell.com) 3.https://cdn.netsarang.net/de06d10…

LabVIEW检测润滑油中的水分和铁颗粒

LabVIEW检测润滑油中的水分和铁颗粒 润滑油广泛应用于现代机械设备,由于工作环境日益恶劣,润滑油经常被水分乳化,加速对机械设备的腐蚀。此外,润滑油还受到机械零件摩擦中产生的Fe颗粒的污染,削弱了其机械润滑效果。润…

mobaXterm使用pycharm

首先去pycharm的官网PyCharm: the Python IDE for Professional Developers by JetBrains 下载pycharm(选择linux的community版本即可) 下载后的压缩包拖拽到mobaXterm如下位置: 进入压缩包所在的文件夹(图中这个位置是root目录&…

docker镜像 容器 仓库

docker镜像 Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像。 获取镜像 Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像。 从 Docker 镜像仓库获取镜像的命令…

中科驭数KPU FLEXFLOW®-2100R RDMA加速DPU卡正式发布,下一代数据中心互联的“超级高速公路”

2023服贸会期间,中科驭数重磅推出最新自研的高性能网络“利器”——KPU FLEXFLOW-2100R RDMA加速DPU卡。这款产品的发布标志着中科驭数在高性能计算和数据中心领域的不断创新,旨在面向高速网络、高性能存储搭建起算力集群内部通信的"超级高速公路”…

【前端】在Vue页面中引入其它vue页面 数据传输 相互调用方法等

主页面 home 从页面 headView 需求 在 home.vue 中引用 headView.Vue 方案: home.vue 代码: 只需要在home.vue 想要的地方添加 <headView></headView> <script>//聊天页面 import headView /view/headView.vueexport default {components: {headView},…

978. 最长湍流子数组

978. 最长湍流子数组 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff08;一&#xff09;&#xff1a;滑动窗口参考代码&#xff1a; 解题思路&#xff08;二&#xff09;&#xff1a;动态递归参考代码&#xff1a; 针对&#xff08;二&#xff09;进行优化&#x…

组件安全以及漏洞复现

组件安全 1. 概述 A9:2017-使⽤含有已知漏洞的组件 A06:2021-Vulnerable and Outdated Components ​ 组件&#xff08;例如&#xff1a;库、框架和其他软件模块&#xff09;拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用&#xff0c;可能会造成…

【2023年11月第四版教材】第11章《成本管理》(第2部分)

第11章《成本管理》&#xff08;第2部分&#xff09; 4 规划成本管理4.1 成本管理计划★★★ 5 估算成本5.1 估算成本★★★ &#xff08;19上57&#xff09; &#xff08;19下35&#xff09;5.2 数据分析★★★5.4 成本估算★★★ 6 制定预算6.1 成本基准★★★ 7 控制成本7.1…

FOXBORO FBM233 P0926GX电源模块产品特点

FOXBORO FBM233 P0926GX 是一款电源模块&#xff0c;通常用于供电和管理工业自动化和控制系统中的设备和模块。以下是可能与这款电源模块相关的一些产品特点和功能&#xff1a; 电源输出&#xff1a; FBM233 P0926GX 电源模块提供一个或多个电源输出通道&#xff0c;用于为其他…

命悬一线小游戏

欢迎来到程序小院 命悬一线 玩法&#xff1a; 点击鼠标人物摆动跳跃&#xff0c;松开鼠标跳到方格上面&#xff0c;每跳一次都会有对应的分数统计&#xff0c;不要让人物掉下哦^^。开始游戏 html <canvas id"jsGameScreen"></canvas>css .bandiv{floa…

redis八股1

参考Redis连环60问&#xff08;八股文背诵版&#xff09; - 知乎 (zhihu.com) 1.是什么 本质上是一个key-val数据库,把整个数据库加载到内存中操作&#xff0c;定期通过异步操作把数据flush到硬盘持久化。因为纯内存操作&#xff0c;所以性能很出色&#xff0c;每秒可以超过10…