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

深度学习(七)-计算机视觉基础

计算机视觉

  • 计算机视觉在广义上是和图像相关的技术总称。包括图像的采集获取,图 像的压缩编码,图像的存储和传输,图像的合成,三维图像重建,图像增强,图像修复,图像的分类和识别,目标的检测、跟踪、表达和描述,特征提取,图像的显示和输出等等。
  • 随着计算机视觉在各种场景的应用和发展,已有的图像技术也在不断的更 新和扩展。

计算机视觉的应用

计算机视觉技术已经在许多领域得到了广泛的应用,以下是一些典型的例子:
  • 公安安防:人脸识别,指纹识别,场景监控,环境建模。
  • 生物医学:染色体分析,X光、CT图像分析,显微医学操作。
  • 文字处理:文字识别,文档修复,办公自动化,垃圾邮件分类。
  • 国防军事:资源探测,军事侦察,导弹路径规划。
  • 智能交通:公路交通管理,电子警察执法抓拍系统,自动驾驶车辆。
  • 休闲娱乐:电影特效,视频编辑,人像美颜,体感游戏,VR。

数字图像处理基础

人眼成像原理

人的眼睛近似为一个球体。物体的光线通过角膜和晶状体的折射,在视网膜上成倒立缩小的实像。
视网膜上分布光线接收的神经细胞,分为锥状体和杆状体。每只眼睛有600万- 700万个锥状体,其对颜色灵敏度很高,负责亮光视觉。有7500万- 15000万杆状体,杆状体没有颜色感觉,负责暗视觉。

计算机成像原理

  • 数字图像的采集过程类似人眼,使用大量的光敏传感器构成的阵列获取图像。成像的质量由传感器的单元数,尺寸和传感性能决定。
  • 多数传感器的输出是连续的电压波形,图像数字化就是将一副画面的数据转换为计算机能够处理的数字形式。
  • 图像数字化包括两种处理过程:采样和量化。

图像采样与分辨率

  • 将空间上连续的图像变换成离散点的操作称为采样
  • 采样是按照某种时间间隔或空间间隔,采集模拟信号的过程,即空间离散化。
  • 图像数字化的采样过程是将空间上连续的图像变化为离散的点。
  • 采样的效果由传感器的采样间隔和采样孔径决定,采样间隔和采样孔径的大小是两个很重要的参数。

图像采样与分辨率

  • 采样后得到离散图像的尺寸称为图像分辨率。分辨率是数字图像可辨别的最小细节。
  • 分辨率由宽(width)和高(height)两个参数构成。宽表示水平方向的细节数,高表示垂直方向的细节数。

例如:

  • 一副640*480分辨率的图像,表示这幅图像是由640*480=307200个点组成。
  • 一副1920*1080分辨率的图像,表示这幅图像是由1920*1080= 2073600个点组成

  • 采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。 下图展示了lena图的分辨率从512x512依次降低到8x8的图像效果。

灰度级与灰度图像

  • 灰度级(depth)表征了每个采样点的传感器输出中可分辨的最小变化。
  • 灰度级通常是2的整数次幂。我们用m级或者n位来表示灰度级。图像数据的灰度级越多视觉效果就越好。计算机中最常用的是8位图像。
例如:
  • 一副8位的图像,表示每个采样点有2^8=256级。从最暗到最亮,可以分辨256个级别。
  • 一副32级的灰度图像,每个采样点从最暗到最亮,可以分辨32个级别。
量化等级越多,所得图像层次越丰富,灰度分辨率高,图像质量好,但数据量大。下图展示了lena图的灰度级从256级依次降低到4级的图像效果。
单通道的数字图像被称为灰度图。通常,单通道记录了采样点的亮度信息,例如8位的图像,0表示最暗(黑色),255表示最亮(白色)。

彩色图像与色彩空间

为了表征彩色图像,我们需要使用多通道数字图像。最普遍的方式是使用RGB颜色空间。RGB颜色空间中每个像素点有三个维度,分别记录在红(Red)、绿(Green)、蓝(Blue)三原色的分量上的亮度。
另一种常用的颜色空间是HSV,该颜色空间可以用一个圆锥来表示。
HSV表示色相(hue)、饱和度(saturation)和亮度 (value)。
  • H表示颜色的相位角(hue) ,取值范围是0---360;
  • S表示颜色的饱和度(saturation) ,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间 的比率;
  • V表示色彩的明亮程度(value) ,范围从0到1。

 

  • YUV:亮度信号Y和两个色差信号R-Y、B-Y,最后发送端将亮度和色差三个信号分别进行编码。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图就是黑白灰度图。 YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法。YUV色彩空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。与RGB视频信号传输相比,YUV只需占用极少的频宽。
  • CMYK :CMYK颜色空间应用于印刷工业,印刷业通过青(C)、品(M)、黄(Y)、黑(BK)四色油墨的不同网点面积率的叠印来表现丰富多彩的颜色和阶调。
  • Lab:Lab的色彩空间要比RGB模式和CMYK模式的色彩空间大,自然界中任何一点色都可以在Lab空间中表达出来。

颜色空间变换

在计算机视觉中,尤其是颜色识别相关的算法设计中,各种颜色空间混合使用是常见的方法。RGB,HSV,YUV等常见颜色空间可以通过计算公式实现相互转化,这个过程叫做颜色空间变化。颜色变换的计算公式比较复杂,通常图像处理库会提供颜色空间变化的API给用户调用。

常用图像处理技术

色彩处理
  • 灰度化:将彩色图像转换为灰度图像
  • 二值化/反二值化:将灰度图像转换为只有两种颜色的图像
  • 色彩提取:提取指定的颜色
  • 直方图均衡化:调节图像统计直方图分布
  • 亮度、饱和度、色调调整
形态相关操作
  • 仿射变换:旋转、平移
  • 缩放、裁剪
  • 图像相加、相减
  • 透视变换
  • 图像腐蚀、膨胀、形态学梯度
色彩梯度
  • 模糊
  • 锐化
  • 边沿检测
轮廓处理
  • 轮廓查找、绘制
  • 绘制矩形、圆型、椭圆包围
  • 多边形拟合

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Redis从简单使用到底层原理与分布式缓存
  • 【C++ Primer Plus习题】10.7
  • react中关于token的两个场景
  • 从零到精通:用C++ STL string优化代码
  • Biome-BGC生态系统模型与Python融合技术实践应用
  • 记一次 OOM内存溢出案例
  • 设计模式-行为型模式-模板方法模式
  • 预训练语言模型的前世今生 - 从Word Embedding到BERT
  • 深入掌握Linux磁盘管理,从入门到精通的完整指南
  • 安装node版本管理工具(nvm)、利用nvm安装node
  • html+css+js网页设计 故宫7个页面 ui还原度100%
  • 解决App推广痛点:一键获取下载数据的秘诀
  • Vue(七) TodoList案例1.0
  • 新的Ubuntu服务器如何启用root账号和配置静态ip以及开启ssh服务
  • spark.sql
  • JavaScript-如何实现克隆(clone)函数
  • Apache Pulsar 2.1 重磅发布
  • C++类中的特殊成员函数
  • CAP理论的例子讲解
  • echarts的各种常用效果展示
  • egg(89)--egg之redis的发布和订阅
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • HashMap剖析之内部结构
  • JavaScript标准库系列——Math对象和Date对象(二)
  • javascript从右向左截取指定位数字符的3种方法
  • Python3爬取英雄联盟英雄皮肤大图
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 学习HTTP相关知识笔记
  • 正则表达式
  • HanLP分词命名实体提取详解
  • ​TypeScript都不会用,也敢说会前端?
  • #大学#套接字
  • (第二周)效能测试
  • (规划)24届春招和25届暑假实习路线准备规划
  • (生成器)yield与(迭代器)generator
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • .Net 4.0并行库实用性演练
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • @Mapper作用
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)
  • [bzoj2957]楼房重建
  • [Codeforces] number theory (R1600) Part.11
  • [Gstreamer] 消息处理handler的设置
  • [iOS]如何删除工程里面用cocoapods导入的第三方库
  • [Java]快速入门二叉树,手撕相关面试题
  • [JDK工具-6] jmap java内存映射工具
  • [JS]JavaScript 简介
  • [Linux]——彻底学通权限
  • [Lua实战]整理Lua中忽略的问题
  • [Matlab有限元分析] 2.杆单元有限元分析
  • [nextjs]推荐几个很好看的模板网站