白平衡
我们知道看见的物体颜色是取决于光强度和物体反射率,在拍照时候需要环境进行估计,从而尽量第消除光对环境的影响。这种我们都会有体会在物体在日光灯下会偏蓝色些,而在白炽灯灯光下会显示暖色,偏红色。我们在看东西时候,人眼会自动调节来消除光源对物体的影响。所谓白平衡就是消除光源对物体反色的影响。
vignetting 周边偏暗
这个 vignetting 现象,也是需要校正的,一般通过事先设置好的查找表来实现。光从小孔投射到感光底板上,边缘接收光是斜射所以面积变大,光束是发散的,面积变大所以。所以我们可以按照信号衰减来处理,只要除以这个衰减就可以去除周边变暗的问题。
有的时候我们还需要这样效果,如果我们记错的化在 PS 中提供相应功能
vignetting_img = cv2.imread('tesla-model-s3.jpg')
rows, cols = vignetting_img.shape[:2]
print(rows,cols)
kernel_x = cv2.getGaussianKernel(cols,300)
kernel_y = cv2.getGaussianKernel(rows,300)
kernel = kernel_y * kernel_x.T
mask = 255 * kernel / np.linalg.norm(kernel)
output = np.copy(vignetting_img)
图
降噪
照片一定会有噪音,在场景里一定会有一些重复性的位置,例如我们找到重复的物件,然后对这些物件取平均然后就可以得到降噪的效果。
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('denoise_bird.jpg')
dst = cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21)
plt.subplot(121),plt.imshow(img)
plt.subplot(122),plt.imshow(dst)
plt.show()
图
我们得到像素值并不是真实的发光强度,而是经过一些列处理后得到的值。
网友评论