对比度亮度调整与通道分离合并
对比度亮度调整:
1)原理介绍:
g’ = g * Mult + Add
⚫ g 表示原图像像素
⚫ g’ 表示输出图像像素
⚫ Mult 被称为增益(gain), 通常用来控制图像的对比度
⚫ Add 通常被称为偏置(bias), 通常用来控制图像的亮度
g’(i,j) = Mult * g(i,j) +Add
2)方法:
简单代码示例:
for i in range(0,img.shape[0]):
#访问所有行
for j in range(0,img.shape[1]):
#访问所有列
if(int(img[i,j] * contrast + brightness)>255):
img[i,j] = 255
else:
img[i,j] =int(img[i,j]) * contrast * + brightness
3)效果预览
通道分离与合并:
1)通道分离: cv2.split0函数
import cv2
import numpy as np
img2 = cv2.imread(‘…/datas/logo.png’)
r, g, b = cv2.split(img2)
cv2.imshow(‘add’, np.hstack([ r, g, b ]))
cv2.waitKey(0)
2)通道合并:cv2.merge0函数
import cv2
import numpy as np
img1 = cv2.imread(‘…/datas/fengjing1.png’)#(546, 820, 3)
img2 = cv2.imread(‘…/datas/logo.png’)#(512, 512, 3)
r = img2[:, :,0]
g = img2[:, :,1]
b = img2[:, :,2]
img2 = cv2 .merge([r, g, b])
cv2.imshow(‘add’,img2)
cv2.waitKey(0)