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)

得解

posted @ 2019-06-26 13:39  Geeksongs  阅读(3606)  评论(0编辑  收藏  举报

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.