【计算机视觉】图像形成与颜色

news2024/11/17 16:23:29

图像形成与颜色

光照及阴影

辐射度学

image-20221204185226005

颜色

颜色信息反映了入射光的能量分布与波长,可见光的波长在400nm760nm之间。

RGB

RGB分别代表三个基色(R-红色、G-绿色、B-蓝色),如(0,0,0)表示黑色、(255, 255, 255)表示白色。其中255表示色彩空间被量化成255个数,最高亮度值为255(255 = 2^8 - 1,即每个色彩通道用8位表示)。

CMYK

CMY是色料三原色,分别是青(Cyan)、品红(Magenta)、黄(Yellow),再增加一个独立的黑色(K)

RGB 转换至CMYK

image-20221204184415977

CMYK 转换至 RGB

image-20221204184449057

Lab

Lab是基于人对颜色的感觉来设计的,更具体地说,它是感知均匀(perceptual uniform)的,如果数字(L、a、b这三个数)变化的幅度一样,那么它给人带来视觉上的变化幅度也差不多。

HSI

色调H(Hue):与光波的频率有关,它表示人的感官对不同颜色的感受,如红色、绿色、蓝色等。

饱和度S(Saturation):表示颜色的纯度,纯光谱色是完全饱和的,加入白光会稀释饱和度。饱和度越大,颜色看起来就会越鲜艳,反之亦然。

亮度I(Intensity):对应成像亮度和图像灰度,是颜色的明亮程度。

RGB转HSI:

image-20221204184713427

HSI转RGB:

image-20221204184757850

HSV

H (Hue)色相:取值范围 [0, 360]

S (Saturation)饱和度,即色彩纯净度,0饱和度为白色;取值范围:[0, 1]

V (Value):明度,0明度为纯黑色;取值范围:[0, 1]

HSV转换至RGB:

image-20221204184857163

RGB转换至HSV

image-20221204184905318

色彩还原

全世界目前主流使用8位每通道SRGB色彩描述体系来记录我们的颜色信息,8位的灰阶256非常有限。人眼的特点是对暗部更为敏感。如果用256灰阶直

接记录物理渐变的话,那么暗部只有56个灰阶,暗部就会出现巨大的色阶断层。如果我们做一次非线性映射,也就是Gamma矫正。把0.218的光信号提到中间。那么亮部和暗部各会分配到128个色阶。

光度处理

直方图处理

image-20221204185100718

手工实现直方图均衡化
了解直方图均衡化的原理之后,我们以一个简单的例子来手工计算均衡化后的图像。这里我们假设存在以下这张图像(假定图像的灰度级范围是 [0, 9]):

img
计算过程如下:

image-20221204192832794

image-20221204192902240

原文链接:https://blog.csdn.net/qq_15971883/article/details/88699218

图像融合

直接剪切粘贴技术(cut-and-paste)

ps抠图

Alpha融合

实现平滑过渡的更好方法是在图像中央选择一个宽度w,并使alpha掩模在这w个像素上从0平滑过渡到1,这个过程被称为羽化,能够实现更平滑的混合。线性减小或增大的混合函数会导致梯度不连续,从平滑区域过渡到线性区域时产生被称为马赫带的可见噪声。

拉普拉斯金字塔

综合考虑混合函数对特征大小和平滑度的约束,混合图像的理想方法是

分辨率混合。可以用拉普拉斯金字塔进行这种多分辨率分解,其中金字塔的每一层提供不同的分辨率,而组合所有层能恢复原图像

全景图像生成

两个相邻图像的区域进行混合

光度立体视觉

光度立体法的用途是可以重建出物体表面的法向量,以及物体不同表面点的反射率,最关键的是它不像传统的几何重建(例如立体匹配)方法那样需要去考虑图像的匹配问题,因为所需要做的只是采集三张以上,由不同方向的光照射物体的图像。这个过程中,物体和相机都不动,因此图像天然就是对齐的,这使得整个过程非常的简洁。

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

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

相关文章

TS装饰器bindThis优雅实现React类组件中this绑定

初学React类组件时,最不爽的一点应该就是 this 指向问题了吧!初识React的时候,肯定写过这样错误的demo。 import React from react; export class ReactTestClass extends React.Component {constructor(props) { super(props); this.state …

程序员如何进化成架构师?

作为程序员的上端,每一个架构师都承担着艰巨的任务:不仅仅要和产品进行周旋,还需要有十分坚实的技术作为基础打底。 那么,架构师都在考虑什么呢? 说到底还是程序架构、结构性的问题。 比如最近十分火爆的分布式系统…

STM32CubeIDE(stm32f767)添加DSP库

对于stm32f4 系列可以使用STM32Cube添加相应的库,自动生成代码。可以参考下面写的文章 (1条消息) STM32CubeMX关于添加DSP库的使用_W_oilpicture的博客-CSDN博客_cubemx dsp库 不过,对于stm32f767等M7的内核目前可能并不适用,需要自己手动添…

CS162 shell

本文记录我在做shell这个作业时用到有关资源,如Linux系统调用、Linux基础知识、C语言知识等。 这里只是非常简略地记录了一下,并且可能有理解不正确的地方,你可以把本文当作一个索引和没有思路时的启发,详细的信息可以再去查&…

SVM(支持向量机)基本形式推导

据说在dl之前是SVM撑起了ml的半片天,学习后发现SVM是由纯粹的数学推导、转化、求解、优化“堆砌”而来,不如说是数学撑起了ml,ml是数学的学科。以下根据老师ppt上讲解的思路讲讲个人对SVM基本形式推导的理解。 margin(间隔&#x…

[附源码]计算机毕业设计现代诗歌交流平台Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

2. IMU原理及姿态融合算法详解

文章目录2. IMU原理及姿态融合算法详解一、组合二、 原理a) 陀螺仪b) 加速度计c) 磁力计三、 旋转的表达a) 欧拉角b) 旋转矩阵c) 四元数d) 李群 SO(3)\text{SO}(3)SO(3) 及 李代数 so(3)\text{so}(3)so(3)四、 传感器的噪声及去除a) 陀螺仪b) 加速度计c) 磁力计五、姿态解算原理…

CSS基础-选择器进阶,背景相关属性(颜色/图片)

CSS基础-选择器进阶,背景相关属性(颜色/图片) 目标:能够理解 复合选择器 的规则,并使用 复合选择器 在 HTML 中选择元素 学习路径:1. 复合选择器2. 并集选择器3. 交集选择器4. hover伪类选择器5. Emmet语法 本次我们所学的内容: 1…

Kafka - 15 Kafka Offset | 自动和手动提交Offset | 指定Offset消费 | 漏消费和重复消费 | 消息积压

文章目录1. Offset 的默认维护位置2. 自动提交 Offset3. 手动提交 Offset1. 同步提交 offset2. 异步提交 offset4. 指定 Offset 消费5. 指定时间消费6. 漏消费和重复消费7. 消费者事务8. 数据积压(消费者如何提高吞吐量)1. Offset 的默认维护位置 Kafka…

触发器——SR锁存器

组合逻辑的基本单元电路是门电路 另外一种电路叫做时序逻辑电路,时序逻辑电路的输出不但和输入有关,还和原来的状态有关 在这样的电路中,一定要具有存储功能,存储原来的状态,一定也要有反馈回路,返回原来…

4-7:用Redis优化登陆模块

相关功能 使用Redis存储验证码 验证码需要频繁的访问与刷新,对性能要求较高。验证码不需永久保存,通常在很短的时间后就会失效。 (Redis可以设置有效时间,分布式应用也可以绕过session共享的问题)分布式部署时,存在Session共享的…

2022物联卡排行榜公司有哪些?

科技的发展日新月异,我们国家的发展战略也是支持高新科技公司的发展,所以越来越多的高新科技公司出现,但凡是高新科技公司,在设备的联网中,都会用到物联卡,所以物联卡的市场也愈发火爆,那么今天…

Zygote在Framework中起什么作用?

前言 提到Zygote可能了解一些的小伙伴会说,它是分裂进程用的。没错它最大的作用的确是分裂进程,但是它除了分裂进程外还做了什么呢。还是老规矩,让我们抱着几个问题来看文章。最后在结尾,再对问题进行思考回复。 你能大概描述一…

【springboot进阶】使用aop + 注解方式,简单实现spring cache redis 功能

目录 一、实现思路 二、定义缓存注解 三、aop 切面处理 四、使用方式 五、灵活的运用 六、总结 前几天有同学看了 SpringBoot整合RedisTemplate配置多个redis库 这篇文章,提问spring cache 能不能也动态配置多个redis库。介于笔者没怎么接触过,所以…

【Graph】NetworkX官方基础教程

NetworkX官方基础教程图的基础知识1.1 图(graph)及其分类1.2 节点的度(degree)1.3 子图(subgraph)1.4 连通图1.5 图的矩阵表示NetworkX概述NetworkX基础教程1. 创建图2. 节点3. 边4. 清空图5. 图可视化6. 访…

基于javaweb框架的springboot mybatis宠物商城源码含论文设计文档

在互联网高速发展、信息技术步入人类生活的情况下,电子贸易也得到了空前发展。网购几乎成为了人人都会进行的活动。近几年来,养宠物更是成为人们生活中重要的娱乐内容之一, 人们越来越多的讲感情也寄托给了宠物,以给自己另一个感情…

自动驾驶--预测技术

根据百度技术培训中心课程整理( https://bit.baidu.com/productsBuy?id72) 背景简介 无人车系统从算法模块可分为三个部分,首先是感知通过对传感器数据和环境信息进行计算来解决周围有什么的问题,其次是预测,根据感知信息预测环境下一步将…

Java单元测试

1. 序言 1.1 工作中要求进行单元测试 毕业进入公司时,为了锻炼笔者的Java基础,老大给笔者分配了平台化开发的工作,基于Spring Boot Mybatis的Java Web后端开发一个人干后端开发,且以前也没有后端开发的经验,所以只是…

CTF之序列化__toString

序列化简介 本质上serialize()和unserialize()在php内部的实现上是没有漏洞的,漏洞的主要产生是由于应用程序在处理对象,魔术函数以及序列化相关问题时导致的。 当传给unserialize()的参数可控时,那么用户就可以注入精…