%matplotlib inline
import numpy as np
from __future__ import division
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['axes.grid'] = False
import cv2
import logging
logger = logging.getLogger()
编辑曲线就像是一种交易,提高某一区域的品质通常要其他区域付出代价。
曲线调整命令路径是:图像 > 调整 > 曲线。快捷键是 Command-M。
网格单元有 25% 和 10% 两种,可使用 Option 键单击网格进行切换。
平常使用 25%,LAB 空间使用 10% 来精准调整。
默认 RGB 和 LAB 空间左黑右白,灰度和 CMYK 空间左白右黑。为了不让自己出错混淆,作者强烈建议统一上述四种空间的方向。
作者建议使用左白右黑,这是印刷时代的标准。但我平常使用 Lightroom,为了一致,所以使用的是左黑右白的风格,和大多数数码软件匹配。
f, axarr = plt.subplots(2, 2, figsize=(15,15))
axarr[0,0].imshow(plt.imread('./res/70_80/A.png'))
axarr[0,0].set_title('A')
axarr[0,1].imshow(plt.imread('./res/70_80/B.png'))
axarr[0,1].set_title('B')
axarr[1,0].imshow(plt.imread('./res/70_80/C.png'))
axarr[1,0].set_title('C')
axarr[1,1].imshow(plt.imread('./res/70_80/D.png'))
axarr[1,1].set_title('D')
<matplotlib.text.Text at 0x10ee78250>
区别:
观察亮部,颜料的使用量 D < B < A = C。
所以 A,C 较 B, D 更偏蓝。
哪种方法更好呢?
视情况而定,
但基本原则:但尽可能精确,清晰,简单。
修正下图的唯一方法就是让被撞的痕迹细节尽可能突显出来。
f, axarr = plt.subplots(1, 2, figsize=(15,15))
axarr[0].imshow(plt.imread('./res/fig_2_7/A.png'))
axarr[0].set_title('A')
axarr[1].imshow(plt.imread('./res/fig_2_7/B.png'))
axarr[1].set_title('B')
<matplotlib.text.Text at 0x11145c410>
调整方法:
用曲线强调令人感兴趣的区域
小心:不要改变总体色调,尽量减小对背景的损害
f, axarr = plt.subplots(1, 2, figsize=(15,15))
axarr[0].imshow(plt.imread('./res/fig_2_9/A.png'))
axarr[0].set_title('A')
axarr[1].imshow(plt.imread('./res/fig_2_9/B.png'))
axarr[1].set_title('B')
<matplotlib.text.Text at 0x112716fd0>
把强对比度从最亮和最暗区域转移到中间调
亮度/对比度是将两端点向内收,抹掉了高光和暗部的细节。
解决方法:
傻问题:什么方法能把大多数照片调整到较好品质?
傻答案:首先自动色阶,然后”S“型曲线微调
f, axarr = plt.subplots(1, 2, figsize=(15,15))
axarr[0].imshow(plt.imread('./res/fig2_12/A.png'))
axarr[0].set_title('A')
axarr[1].imshow(plt.imread('./res/fig2_12/B.png'))
axarr[1].set_title('B')
<matplotlib.text.Text at 0x110bc0a90>
f, axarr = plt.subplots(1, 2, figsize=(15,15))
axarr[0].imshow(plt.imread('./res/fig2_15/A.png'))
axarr[0].set_title('A')
axarr[1].imshow(plt.imread('./res/fig2_15/B.png'))
axarr[1].set_title('B')
<matplotlib.text.Text at 0x110c84ad0>
画面主体是绿色和黄色,背景偏红
思路:
主体绿色较深沉,在绿色中间调,在红色和蓝色中较暗,
主体黄色较明亮,在绿色和红色通道中较亮,在蓝色中较暗,
所以强化绿色和红色通道的对比,而蓝色均在暗部,可压缩牺牲。
作者为了突出背景中红色,压平了红色通道的亮光部分,我在处理中拉高了绿色部分,所以有点背景有点绿色的色偏。
f, axarr = plt.subplots(1, 2, figsize=(15,15))
axarr[0].imshow(plt.imread('./res/fig2_18/A.png'))
axarr[0].set_title('A')
axarr[1].imshow(plt.imread('./res/fig2_18/B.png'))
axarr[1].set_title('B')
<matplotlib.text.Text at 0x11698e550>
f, axarr = plt.subplots(1, 2, figsize=(15,15))
axarr[0].imshow(plt.imread('./res/fig2_18/A.png'))
axarr[0].set_title('A')
axarr[1].imshow(plt.imread('./res/fig2_19/B.png'))
axarr[1].set_title('B')
<matplotlib.text.Text at 0x11780d290>
我不会调CMYK,感觉整体颜色不如RGB鲜艳。
CMYK因为有黑色通道,在其它通道可以使用更加陡峭的曲线。
但因为CMYK的色域不如RGB广,若最终输出是RGB,不建议转到CMYK调整:在转换中部分明亮色彩会失去。
调节白场和黑场来增加对比度。
折角对应于雨衣上的极高光。
命令图层可逆,标准图层直观。
不太清楚:可能是保留亮光和暗部的细节,或者是考虑到色彩混合的原因。