编译环境及工具:
Python3
Jupyter Notebook
示例图片:
代码:
import numpy as np
import cv2
fn = r"C:\Users\LIHAO\Pictures\Saved Pictures\wallhaven-5gy133.png"
if __name__ == '__main__':
print('loading %s ...'% fn)
print(u'正在处理中')
img = cv2.imread(fn)
w=img.shape[1]
h=img.shape[0]
# 将全部色彩变暗
for i in range(0,w):
for j in range(0,h):
# 将像素值整体减少,设为原像素值的50%
img[j,i,0]=int(img[j,i,0]*0.5)
img[j,i,1]=int(img[j,i,0]*0.5)
img[j,i,2]=int(img[j,i,0]*0.5)
# 显示进度条
if i%100==0:
print('...............')
cv2.namedWindow('img')
cv2.imshow('img',img)
cv2.waitKey()
cv2.destroyAllWindows()
# # 将全部色彩变亮
# for i in range(0,w):
# for j in range(0,h):
# # 将像素值整体增加,设为原像素值的120%
# img[j,i,0]=int(img[j,i,0]*1.2)
# img[j,i,1]=int(img[j,i,0]*1.2)
# img[j,i,2]=int(img[j,i,0]*1.2)
# # 显示进度条
# if i%100==0:
# print('...............')
# cv2.namedWindow('img')
# cv2.imshow('img',img)
# cv2.waitKey()
# cv2.destroyAllWindows()
执行结果:
调节的原理:
将像素值变小,则将亮度调小,全部色彩变暗;将像素值变大,则将亮度调大,全部色彩变亮。
第一张图是变暗的效果;第二张图由于像素值过大,已经出现失真现象。