程序员五一修图小贴士

简介: 程序员五一修图小贴士

强行凑出来的五一小长假即将结束,一年一度的朋友圈晒图大赛又将起航。虽然手机自带的图片自动润色功能越来越强大,但毕竟不能满足我们程序员想掌控一切的精细化调整需求。下面就我一些浅薄的调色经验,以我在长沙游天心阁玩拍的一张图片的调色过程为例,教你一套李鬼变李逵的风景调色屠龙技。最后会给一个简单的修图原理的总结,一探图片调色背后的本质。

先来个对比

为了说明图片调色确实有奇效,先上一个对比图给大家直观感受下:

image.png原图

image.png

调色后

此图摄于老长沙制高点——天心阁。是日乌云密布,暴雨将至,从天心阁二层远眺,黄瓦蓝天,车水马龙,一动一静,似有雷霆之势。

下面分步骤讲解下调色过程和原理,尽量简洁一点,并且附上参考资料,留给有兴趣深挖的同学。

拍照

器材以 iPhone 为例,如果是 iPhone 12 pro,遇到奇佳的风景一定要祭出 raw 格式,可以在苹果 官方文档中找到相关设置方法。有数码相机使用经验的同学一定对 raw 格式不陌生,它能让你在拍摄时保留更多细节,给后期更多的发挥空间。可以说支持 raw 格式是我买 iPhone 12 pro 的一个最主要动机。

构图十分重要,但是与本篇主题无关,这里不详细展开,只提示一点,一定要把九宫格网格线打开,它能让你看到你所要拍摄的主体的在画面中的相对位置。如果对构图方法感兴趣,可以看看 Thomas 看看世界的这篇[^2]教程。顺便多说一嘴,他的摄影入门文章都挺好的,恰巧,他曾经也是一枚程序员。

修图软件

ios 平台的图片调色软件非常多,但我只推荐基本没有争议的 Top 1:Adobe 的 Lightroom。该软件基本功能都免费,只有一些高阶功能需要付费,但是我们一般用不到。

image.png

                            Lightroom app store 截图

印象中 Android 平台也有。

调色步骤

下面就以开始提到的”天心阁远眺“图片为例,串下我拿到一张图片后的调色思路和过程。

Step 1:导入校正

在 ios 照片 app 中打开待调色原图,点左下角分享图标,找到 Lightroom (没有的话可以在更多里找找)导入,并且选择立即启动 Lightroom

image.png

                                     图片导入 Lightroom

打开 Lightroom 后选择刚才导入的图片,在下边导航栏中找到光学栏目,勾选移除色差启用镜头矫正。对于任何照片,这两个选项无脑勾选就行,因为他俩基本只会起到正向作用:比如去除紫边,比如矫正镜头畸变。

image.png

                               移除色差&镜头矫正

Step2:图片基调

就像写作文一样,开始就要奠定一下图片基调。

我一般通过调整颜色导航栏中的白平衡来达到目的。想表达清冷的氛围可以将色温往左移动,整体变蓝;想表达温暖、怀旧的氛围,可以将色温往右移动,整体变黄。

回到这张图,发现有黄瓦、蓝色玻璃、蓝天。于是就想做一个时下比较流行的青橙色调。由于这两个色调方向相反,因此并不能简单地调整图片整体的白平衡。这里进行了几处组合调整,基本思路是加强(增加饱和度)青橙色调,减弱(降低饱和度)其他色调:

  1. 蓝色变青色,并增加两者饱和度。在颜色-混合中,调整蓝色向青色,然后适当向右调整两者饱和度滑块。
  2. 黄色变橙色,并增加两者饱和度。在颜色-混合中,调整黄色向橙色,然后适当向右调整两者饱和度滑块。
  3. 减弱剩余颜色饱和度

image.png

                                   颜色分解

为了增加云彩的层次感,可以调整下亮度-曲线中的蓝色通道曲线这个操作比较有意思,曲线本质上是个亮度调整函数的物化,输入 x 表示所有对应像素点的亮度值,输出 y 表示你想让他变成的亮度值。使用方法是你可以在曲线的任意地方增加锚点,然后通过拖动,来改变曲线的形状,即改变映射函数。更多曲线知识可以看这篇[^2]

我一般的使用方法是:

  1. 在斜线中间增加一个锚点,定住中间调的映射。
  2. 增加其他锚点,调整高光或者阴影。

由于天空是高光部分,因此在斜线右上部分再加一个锚点,稍稍往下拉,即给云彩中白色部分增加了一些黄色(蓝色的反色是黄色)。

image.png

                                      蓝色通道曲线

Step3:对比度

如果拿到一张图片,感觉灰蒙蒙的,说明其像素点大多集中在中间色调(即不太暗,也不太亮)。我们这张图就有点这个倾向,可以右上角三个点-视图选项-显示/隐藏直方图调出直方图看一下:

image.png

                      直方图-发灰-像素集中在中部

发现”山峰“集中在中部,猜想得到验证。关于直方图的知识,可以看看这篇[^2],本质上刻画的是图像平面上的像素点的亮度数量分布。

增加对比度有几种方法:

  1. 最简单的就是亮度-对比度,将滑块往右拉。但是这种方法不太精细,我一般用曲线
  2. 选择亮度-曲线,可以发现曲线有四个,分别是总体绿。这里调整总体曲线即可。增加对比度的经典曲线形状是一个 S,即让高光部分更亮,阴影部分更暗,对比度一下就出来了。

image.png

                                  使用曲线调整对比度

Step 4:增加通透感

通过调整图片中物体的轮廓,让他们更加清晰,就能让图片看起来更加通透。当然,调整对比度也有这个效果。可以在效果栏目中调节纹理清晰度去朦胧三个滑块进行调整。三个滑块的作用边缘依次变大,纹理针对一些细微的边缘,清晰度针对更大的物体轮廓,去朦胧就有点类似于改变对比度了。因此一般来说纹理调整的最多,清晰度次之,去朦胧再次之:

image.png

                           调整边缘增加通透

可以看到物体的边缘更加清晰,质感就进一步突出出来了。

另外,适当增加高光和阴影的局部对比度,也可以使得照片更加通透。具体做法是修改亮度栏目中的:

  1. 白色色阶右移,高光左移,让最亮的部分更亮,次亮的部分压暗,增加高光对比。
  2. 黑色色阶左移,阴影右移,让最暗的部分更暗,次暗的部分提亮,增加阴影对比。

image.png

                     调整高光阴影局部增加通透

Step 5:扫尾

这部可以根据癖好,增加一些效果,比如晕影(可以令主题更加突出)啊、比如颗粒(造出胶片的质感,给人一种怀旧的氛围)啊等等。对于风景图片,我一般会增加些晕影:

image.png

                            晕影滑块右移-增加四角黑色

Step 6:导出

至此,一张图片基本就调色完成了,最后点击右上角分享-导出为,按自己喜好选择图片品质即可。

原理剖析

下面是知其所以然阶段,对理论不感兴趣的小伙伴可以跳过。

图片调色的本质是:”选择——调整“。选择就是选出所想要施加影响的像素点集合,调整即是改变该集合的某种属性值。选择的手段和角度都有很多,取决于你如何看待这张图片的像素点集:

  1. 看成是不同亮度的点集亮度栏目下的,黑色色阶-阴影-高光-白色色阶,可以分别选择由暗到亮不同亮度的点集,然后将这些集合变得更亮或者更暗。另外,图像直方图是对全图亮度分布更细粒度的刻画,因此在修图时要一直关注 Lightroom 右上角的直方图变化,直方图又被称为图片的 X 光片
  2. 看成是不同颜色的点集。任何一个像素点的颜色值向量都可以按 RGB (红绿蓝)三维进行分解,每个通道的取值范围一般是 0~255 的整数值。当然也可以按 CMYK(打印四原色:青洋红黄黑)进行分解。可以在颜色-混合中对这些点集进行选择,以调整其色相饱和度明亮度
  3. 看成是不同物理区域的点集。即将物理相邻的一些点归到一起,比如可以调整某个物体轮廓——一棵树、一个人等等,但在手机上一般不会进行这样精细的调整,因为手指难以进行如此细致的操作。但是在电脑上这种选择方式用的相当多,比如抠图。
  4. 看成是不同的特点的点集。将一类具有相同的某种特点的像素点作为集合,比如选出图片中所有的物体边缘,进行锐化,可以使得图片整体变清晰。

最后想提一嘴的是,工具毕竟是工具,最重要的还是想表达某种情绪的思路。但那就是具有闲情逸致的同学的,艺术向的高级话题了,我们不得闲的苦逼程序员不懂。

参考

  1. 苹果官方文档,关于 Apple ProRAW:https://support.apple.com/zh-cn/HT211965
  2. Thomas 看看世界入门文章,里面有文中提到的曲线、直方图的知识详细讲解:https://mp.weixin.qq.com/s/AJZYNIt7H3AC6aKLIDG_vg
相关文章
|
机器学习/深度学习 并行计算 PyTorch
PyTorch安装教程
PyTorch是学习深度学习时常用的Python神经网络框架,本文将介绍其部分版本的安装方式。Windows和Linux通用。 作者使用anaconda作为管理虚拟环境的工具。以下工作都在虚拟环境中进行,对Python和Aanaconda的安装及对虚拟环境的管理本文不作赘述,后期可能会撰写相关的博文。
PyTorch安装教程
IntelliJ IDEA热部署插件JRebel免费激活图文教程
首先说下热部署是什么意思吧,简单了说就是在我们对代码进行更改之后,不需要重启项目,重新编译一下就可以直接运行最新的代码的部署方式。既然是部署方式,项目启动部署的时候当然就会和正常情况下不一样啦~
IntelliJ IDEA热部署插件JRebel免费激活图文教程
|
9月前
|
编译器 C语言
【C语言】extern 关键字详解
`extern` 关键字在C语言中用于跨文件共享变量和函数的声明。它允许你在一个文件中声明变量或函数,而在其他文件中定义和使用它们。理解 `extern` 的使用可以帮助你组织和管理大型项目的代码。
827 3
|
人工智能 自然语言处理 网络架构
单一作者论文,谷歌提出百万专家Mixture,超越密集前馈、稀疏MoE
【7月更文挑战第27天】谷歌提出了一种名为“百万专家Mixture”的神经网络架构,旨在解决Transformer模型处理大规模数据时面临的计算和内存效率问题。该架构通过利用“产品键”技术实现从大规模专家池中的高效检索,相较于传统密集前馈网络和稀疏MoE模型,在性能-计算权衡方面展现出明显优势。尽管如此,模型训练的复杂性和大规模模型的有效管理仍然是挑战。[链接](https://arxiv.org/abs/2407.04153)
202 2
|
Ubuntu 关系型数据库 数据库
在Ubuntu 18.04上安装和使用PostgreSQL的方法
在Ubuntu 18.04上安装和使用PostgreSQL的方法
227 1
|
敏捷开发 持续交付 项目管理
【软件工程】走近演化过程模型:软件开发的不断进化之路
【软件工程】走近演化过程模型:软件开发的不断进化之路
|
人工智能 前端开发 PyTorch
AI加速引擎PAI-TorchAcc:整体介绍与性能概述
PAI-TorchAcc(Torch Accelerator)是阿里云人工智能平台PAI开发的Pytorch上的大模型训练加速框架。PAI-TorchAcc提供了一套基于Pytorch的简洁、易用的接口,无需进行模型转换就可以无缝地接入HuggingFace上的模型,并用多种分布式策略进行训练加速。本文详细介绍PAI-TorchAcc的产品能力与性能。
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的大学生智能消费记账系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的大学生智能消费记账系统的详细设计和实现
212 1
|
存储 数据处理 Python
用Python实现Excel中的Vlookup功能
用Python实现Excel中的Vlookup功能
388 0