1 前言

图像处理是一种利用计算机算法对数字图像进行处理的技术。数字图像是由像素组成的二维矩阵,每个像素包含了颜色和亮度信息,图像处理就是通过对这些像素进行各种算法操作,改变其颜色、亮度、对比度、清晰度等属性,以及进行滤波、边缘检测、目标识别等操作,使得图像更加清晰、美观、易于识别和处理。

图像处理技术已经广泛应用于许多领域,包括医学影像、遥感、安防、自动驾驶、数字媒体、电影制作等等。在医学影像方面,图像处理技术可以帮助医生更准确地诊断疾病,提高诊断效率和准确度。在遥感方面,图像处理技术可以帮助人们更好地了解地球表面的特征,如地形、植被、土地利用等信息。在安防方面,图像处理技术可以识别和跟踪目标,提高安全性和监控效率。在自动驾驶方面,图像处理技术可以对道路环境进行识别和判断,帮助车辆做出正确的决策。在数字媒体和电影制作方面,图像处理技术可以制作出更加真实和逼真的视觉效果。

随着计算机硬件和软件技术的不断发展,图像处理技术的应用范围也在不断扩大,未来图像处理技术将会越来越普及,并且有着广阔的应用前景。

现如今P图已成为目前大家发朋友圈的必备手段,而关注点在于图像的美观效果,忽略了其背后的数字图像RGB数值变化。故本文从智能手机的P图功能出发,解析计算机眼中的图像处理是如何做的。本文以iphone11为例,分析15种图像处理操作原理及对应的RGB图像值的变化规律。

2 图像处理原理解析

2.1 Exposure(曝光)

Exposure是指调整图片曝光度的参数。更改曝光度可以影响图像的亮度和对比度,以及整体色调的明暗程度。

在修改曝光度时,会通过增加或减少每个像素的RGB值来改变图像的明暗程度。如果曝光度增加,RGB值就会相应地增加,使得图像变得更亮,反之亦然。例如,将曝光度提高一档,就相当于将每个像素的RGB值增加50%。这样的修改可能会导致图像过曝或者过暗,需要进行进一步的处理来保持图像的合适亮度。

需要注意的是,过度调整曝光度可能会导致图像细节的丢失或失真。因此,调整曝光度时应该谨慎处理,保留足够的图像细节。

 

Exposure=0                                          Exposure=100

图1 曝光度对比图

 

Exposure=0                                          Exposure=100

图2 图像RGB值对比图

2.2 Brilliance(辉度)

具体来说,Brilliance值的调节会影响图片的整体亮度和对比度,因此会改变RGB三个通道的数值分布,进而影响每个像素的RGB值。

在增加Brilliance值的情况下,整个图片的亮度和对比度都会增加,这意味着所有像素的RGB值都会有所改变,但具体改变的方式和幅度取决于原始图像的颜色分布和亮度对比度情况,因此不一定会导致RGB三个值的增量相同,也不一定会导致三个值都不超过255。同样的,减小Brilliance值也会改变所有像素的RGB值,但具体改变的方式和幅度也不一定相同。

 

Brilliance=0                                                     Brilliance=100

图3 辉度对比图

  

Brilliance=0                                                     Brilliance=100

图4 图像RGB值对比图

2.3 Highlights(高光)

Highlights 是指对图片的高光区域进行调整,以便突出高光区域的细节,同时避免高光区域过曝。调整 Highlights 时,iPhone 11 会根据图片中的像素值进行计算,将高光区域的像素值降低,从而增加高光细节的显示。具体来说,iPhone 11 中对高光区域的调整采用的是 Tone Mapping 技术,通过调整高光区域的曝光值和色调,使得高光区域的像素值更加均衡,同时保持整个图片的动态范围。

例如,如果一张照片中的天空部分出现了过度曝光的情况,使用 Highlights 调整可以在不影响其他区域的情况下,将天空的曝光值进行降低,使得天空的细节更加清晰。而调整后的 RGB 数值将根据图片的具体情况而有所不同,但总体上来说,高光区域的 RGB 值将会得到调整,以使得图片中的高光区域更加平衡和细节更加清晰。

 

Highlights=0                                                    Highlights =100

图5 高光对比图

  

Highlights=0                                                    Highlights =100

图6 图像RGB值对比图

2.4 Shadows(阴影)

Shadows 调整可以增加或减少图像的阴影区域的亮度。它可以影响图像的 RGB 值,具体取决于调整的方向和程度。

增加 Shadows 会增加图像中暗部区域的亮度,这意味着 RGB 值的每个分量(红、绿、蓝)都会增加相同的值,使暗部变得更加明亮。减少 Shadows 会减少图像中暗部区域的亮度,这意味着 RGB 值的每个分量(红、绿、蓝)都会减少相同的值,使暗部变得更加暗淡。

举个例子,假设原始图像中某个像素的 RGB 值为 (50, 70, 100),如果增加 Shadows,可能会将其 RGB 值改为 (60, 80, 110),而如果减少 Shadows,则可能会将其 RGB 值改为 (40, 60, 90)。

 

Shadows=0                                                      Shadows =100

图7 阴影对比图

  

Shadows=0                                                      Shadows =100

图8 图像RGB值对比图

2.5 Contrast(对比度)

Contrast(对比度)指的是图像中最亮和最暗部分之间的差异程度。增加对比度会增强图像中不同灰度之间的差异,使图像更加清晰,颜色更加鲜艳。

在图像处理中,通过调整像素的亮度和暗度来改变对比度。具体来说,可以将图像中所有像素的灰度值减去一个固定值来提高对比度,或者将像素值除以一个固定值来降低对比度。这些操作都会影响图像的RGB值。

 

Contrast=0                                                       Contrast =100

图9 对比度对比图

  

Contrast=0                                                       Contrast =100

图10 图像RGB值对比图

2.6 Brightness(亮度)

Brightness(亮度)是调整图像整体的明暗程度,影响的是图像的亮度值。亮度值是通过RGB三个通道的值的平均值来计算的,所以当亮度值增加时,整张图像的RGB三个通道的值都会增加。如果亮度增加超过了255,RGB三个通道中大于255的像素值会被截断为255。相反,如果亮度值降低,则整张图像的RGB三个通道的值都会降低。

 

Brightness=0                                                    Brightness =100

图11 亮度对比图

  

Brightness=0                                                    Brightness =100

图12 图像RGB值对比图

2.7 Black Point(黑点)

Black point(黑点)是指图像中最暗的像素值,对应于图像的最暗区域。在图像处理中,Black point adjustment(黑点调整)可以帮助调整图像的黑色区域,提高图像的对比度和色彩饱和度。

Black point adjustment通常会调整图像的黑色区域,将最暗的像素值映射到0(黑色),而将其他像素值相应地映射到更亮的值,以增强图像的对比度和色彩饱和度。

使用黑点调整功能可以通过增强图像的黑色区域,使得暗部更加丰富,颜色更加生动,从而让图像看起来更加清晰明亮。

 

Black Point =0                                                  Black Point =100

图13 黑点对比图

  

Black Point=0                                                   Black Point =100

图14 图像RGB值对比图

2.8 Saturation(饱和度)

Saturation(饱和度)是指图像中颜色的强度或纯度。在调整饱和度时,会影响图像中每个像素的RGB值。

当增加饱和度时,会使颜色更加鲜艳饱满,RGB值会增加。相反,当减少饱和度时,颜色会变得更加柔和,RGB值会减少。饱和度的调整通常不会改变图像的亮度或对比度。

需要注意的是,如果将饱和度调整得过高,图像中的颜色可能会看起来过于艳丽,失去自然感。因此,在调整饱和度时需要谨慎,并根据具体情况调整。

 

Saturation =0                                                    Saturation =100

图15 饱和度对比图

  

Saturation =0                                                    Saturation =100

图16 图像RGB值对比图

2.9 Vibrance(活力)

Vibrance(活力)是指在保持肤色自然的前提下,增强图像中鲜艳的颜色。相较于饱和度(Saturation)调整,Vibrance 更加智能,会优先调整图像中那些鲜艳度较低的颜色,以避免饱和度调整时过于浓烈的效果。具体来说,Vibrance 调整主要涉及以下几个方面:

  1. 对于鲜艳度较低的颜色进行增强,不会影响已经饱和的颜色,避免出现过度色彩的情况。
  2. Vibrance 调整的鲜艳度增强量是自适应的,对于原本就比较饱和的颜色调整幅度会相应减小。
  3. Vibrance 会保持肤色的自然度,不会让皮肤颜色出现异常的变化。

在进行 Vibrance 调整时,会根据图像中每个像素的颜色值进行计算,具体的 RGB 值的变化量是根据算法计算得出的,无法简单地通过公式来表示。

 

Vibrance =0                                                      Vibrance =100

图17 活力对比图

  

Vibrance =0                                                      Vibrance =100

图18 图像RGB值对比图

2.10 warmth(温度)

Warmth(温度)是一个调整图像色温的选项,可以使图像看起来更加暖色或冷色。

增加 Warmth 值会使图像整体偏向暖色调,减少 Warmth 值会使图像整体偏向冷色调。这是通过修改图像中所有像素的 RGB 值来实现的。具体来说,增加 Warmth 值会使红色和绿色通道的值增加,而减少 Warmth 值会使蓝色通道的值增加。这是因为较高的红色和绿色值会使图像看起来更加暖色调,而较高的蓝色值会使图像看起来更加冷色调。

 

Warmth =0                                                       Warmth =100

图19 温度对比图

  

Warmth =0                                                       Warmth =100

图20 图像RGB值对比图

2.11 Tint(色调)

在图像处理中,色调(Tint)通常是指图像的颜色偏色。调整 Tint 值会影响图像中的颜色偏向红色或者绿色,具体地说,会影响图像的色相和饱和度,从而影响图像的 RGB 值。

通过增大 Tint 值,可以使图像的颜色偏向绿色,而通过减小 Tint 值,可以使图像的颜色偏向红色。调整 Tint 值的过程中,通常会改变图像中的绿色和红色通道的值,对于其他通道的值则会保持不变。

 

Tint =0                                                             Tint =100

图21 色调对比图

  

Tint =0                                                             Tint =100

图22 图像RGB值对比图

2.12 Sharpness(锐化)

Sharpness(锐化)是指增强图像的边缘和细节,使图像更加清晰。在数字图像处理中,通常使用卷积运算来实现锐化,常见的卷积核包括Sobel、Laplacian、Prewitt等。卷积核在图像上滑动,计算图像像素值和卷积核对应元素的乘积之和,得到新的像素值。

                        

Sobel算子                   Laplacian算子             Prewitt算子

Sharpness调整是通过在图像上应用一系列滤波器来实现的。这些滤波器根据图像的特征对像素进行操作,增强边缘和细节。调整Sharpness会增加图像的锐度,使边缘更加清晰,但也可能会使图像出现一些噪点或失真。

 

Sharpness=0                                                     Sharpness =100

图23 锐化对比图

  

Sharpness=0                                                     Sharpness =100

图24 图像RGB值对比图

2.13 Definition(细节)

Definition(细节)调整可以增加图像的细节和纹理,使得图像看起来更加丰富。它通常是通过增加锐化效果来实现的。在一些软件中,Clarity和Definition可能是相似的,但不同的软件有不同的实现方式和调整效果。

在图像处理中,可能使用了一些算法来增强图像的清晰度或细节。这些算法可能会对图像的RGB值进行微调,以使得图像看起来更加清晰。这种微调通常会增加图像的对比度,并加强边缘的锐利度,从而使得图像的细节更加明显。

具体来说,这种算法通常会在不同的像素之间进行一些运算,以强化它们之间的差异。这样就可以增加图像的细节,并使图像看起来更加清晰。由于图像的RGB值是用来表示像素颜色的,因此这种算法也会对RGB值进行微调,以达到所需的效果。

 

Definition=0                                                    Definition=100

图25 细节对比图

  

Definition=0                                                    Definition=100

图26 图像RGB值对比图

2.14 Noise reduction(降噪)

Noise reduction(降噪)是一种处理数字图像的方法,旨在减少图像中由于传感器、照明条件或其他影响因素而产生的视觉噪点。在iPhone 11的图像处理中,Noise reduction会对图像的RGB值进行修改,使得噪点被减少,图像变得更清晰、更细腻。

具体来说,Noise reduction会对每个像素周围的像素进行采样,并对它们进行平均值或中值滤波,从而降低图像中的噪点。这个过程涉及到复杂的数学计算,会对RGB值进行修改,以达到降低噪点的目的。不过,值得注意的是,过度的降噪可能会导致图像失真或失去细节,因此需要在调整中适度使用。

                                    

均值滤波                                                  高斯滤波

 

Noise reduction=0                                             Noise reduction =100

图27 降噪对比图

  

Noise reduction=0                                             Noise reduction =100

图28 图像RGB值对比图

2.15 Vignette(晕影)

Vignette(晕影)是一种图像特效,通过向图像的边缘添加暗角的方式,可以使图像的中心区域更加突出,营造出一种艺术感。在 iPhone 11 中,Vignette 调整会影响图像的 RGB 值,主要是通过增加或减少边缘区域的亮度和对比度来实现的。

在增加 Vignette(晕影)强度的情况下,边缘区域的亮度会降低,对比度会增加,这会导致边缘区域的 RGB 值变得更暗,颜色更加饱和。而在减小 Vignette 强度的情况下,边缘区域的亮度会增加,对比度会降低,导致边缘区域的 RGB 值变得更亮,颜色更加柔和。

 

Vignette =0                                                      Vignette =100

图29 降噪对比图

  

Vignette =0                                                      Vignette =100

图30 图像RGB值对比图

智能手机中图像处理的原理解析及 RGB 数值变化规律研究相关推荐

  1. camera (14)---智能手机双摄像头原理解析:RGB +Depth

    智能手机双摄像头原理解析:RGB +Depth 智能手机摄像头中:普通彩色相机(RGB) + 深度相机(Depth)的技术原理. 首先来解释一下什么是深度相机吧. 深度相机 顾名思义,深度相机就是可以 ...

  2. 智能手机双摄像头原理解析:RGB +Depth

    本篇博客已首发在博主个人微信公共号:计算机视觉life(微信号:CV_life) 本篇来探讨一下智能手机摄像头中:普通彩色相机(RGB) + 深度相机(Depth)的技术原理. 首先来解释一下什么是深 ...

  3. 手机双摄像头原理解析:RGB +Depth

    智能手机摄像头中:普通彩色相机(RGB) + 深度相机(Depth)的技术原理. 首先来解释一下什么是深度相机吧. 深度相机 顾名思义,深度相机就是可以直接获取场景中物体距离摄像头物理距离的相机.根据 ...

  4. c# mvvm模式获取当前窗口_对Vue中的MVVM原理解析和实现

    首先你对Vue需要有一定的了解,知道MVVM.这样才能更有助于你顺利的完成下面原理的阅读学习和编写 下面由我阿巴阿巴的详细走一遍Vue中MVVM原理的实现,这篇文章大家可以学习到: 1.Vue数据双向 ...

  5. golang中的select原理解析

    基本用法 检查 ch 中有没有数据 select {case d <- ch:default: } 读取已经被 close 掉的 ch 时会返回零值,不会报错.因此在使用for + select ...

  6. 【转】ABP源码分析三十五:ABP中动态WebAPI原理解析

    动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能, ...

  7. vue中在当前组件中定义的全局变量怎么在methods中使用_Vue原理解析(十):搞懂事件API原理及在组件库中的妙用...

    在vue内部初始化时会为每个组件实例挂载一个this._events私有的空对象属性: vm._events = Object.create(null) // 没有__proto__属性 这个里面存放 ...

  8. vue指令写在html中的原理,详解Vue中的MVVM原理和实现方法

    对Vue中的MVVM原理解析和实现首先你对Vue需要有一定的了解,知道MVVM.这样才能更有助于你顺利的完成下面原理的阅读学习和编写下面由我阿巴阿巴的详细走一遍Vue中MVVM原理的实现,这篇文章大家 ...

  9. SpringBoot中事务执行原理分析(一)

    关联博文: SpringBoot中事务执行原理分析(一) SpringBoot中事务执行原理分析(二) SpringBoot中事务执行原理分析(三) SpringBoot中事务执行原理分析(四) Sp ...

最新文章

  1. 【B/S实践】解决:vs中修改样式表后不起作用的问题
  2. 在Windows上编译UEFI SDK 2018/OVMF的方法
  3. Mysql练习题15-给定数字的频率查询中位数
  4. Java 开源分布式缓存框架Ehcache
  5. webpack引入iview.css,解决webpack+Vue引入iView找不到字体文件的问题
  6. MongoDB3.4 版本新节点同步的一点惊喜
  7. 牛客网_PAT乙级1008_锤子剪刀布 (20)
  8. JVM : VisualVM 排查内存泄漏的问题
  9. Linux基础命令1
  10. flashftp中文绿色破解版免费下载
  11. 【Java面试题】进程间通信的方式有哪些?线程间通讯方式有哪些?
  12. Medusa 破解centos密码
  13. 100 个常见的 PHP 面试题和答案分享
  14. android小米4c 权限,小米4C root教程_小米4C卡刷获取root权限的方法
  15. php设置中国时区方法
  16. c语言实验作业在dev蜗居的思路,关于C语言的问题:如何用C语言实现n阶行列式和矩阵的值...
  17. Spring Bean到底是什么?有什么用?
  18. 字符串sprintf一个bug
  19. 三星5亿美元再建液晶模组厂 广深抛绣球
  20. 关于修改windows文件夹图标

热门文章

  1. 路由器数据统计SQL脚本
  2. 缺陷管理:说一说bug的状态和解决方案
  3. Git详解之六 Git工具
  4. 使用四种框架分别实现1百万websocket常连接的服务器
  5. HTML标签---列表标签和表格标签
  6. 2的负x次幂图像_函数y=2的x次方与y=x的2次方的图象的 – 手机爱问
  7. 哈利波特c++千行代码
  8. Linux scp复制文件到另一主机
  9. cocos2d-x动画加速与减速
  10. 在Spring中使用JOTM实现JTA事务管理