OpenCV:增加和减少图像的亮度,图像的加减法
首先导包:
import numpy as np import cv2 import matplotlib.pyplot as plt def show(image): plt.imshow(image) plt.axis('off') plt.show() def imread(image): image=cv2.imread(image) image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB) return image
开始干正事儿,看能够显示图片不:
image=imread('qwe.jpg') show(image)
图像加法的简单例子,从数值上进行理解:
#图像的加法 print(cv2.add(np.uint8([200]),np.uint8([100])))#利用opencv进行的加法,uint8的最大值是0-255 #因此我们只能加到255 print(np.uint8([200])+np.uint8([100]))#普通图像的加法,加到256之后重新从零开始加
减法的例子,也是从数值上进行理解:
#图像的减法 print(cv2.subtract(np.uint8([50]),np.uint8([100])))#利用opencv进行的减法 print(np.uint8([50])-np.uint8([100]))#普通图像的减法
图像加法实战,让之前我们读入的图片亮度增加:
image=imread('qwe.jpg') #生成和图像shape相同的图片,且全为100的数据 M=np.ones(image.shape,dtype='uint8')*100 image=cv2.add(M,image) show(image)
得解