opencv实现图片的算术,逻辑运算和图片融合功能(亮度和对比度)

加减乘除不说了,反正就是两幅相同的图片运用cv.add(), cv.substract(),cv.multiply(), cv.divide()等实现 

逻辑运算就是cv.bitewise_and(),cv.bitewise_or()等等

#调节亮度
import cv2 as cv
import numpy as np

def control_bright(image, alpha):
    blank = np.zeros(shape=image.shape, dtype=image.dtype)
    dst = cv.addWeighted(blank, 1-alpha, image, alpha, 0)
    cv.imshow("img", image)
    cv.moveWindow("img", 20, 20)
    cv.imshow("dst", dst)
    cv.waitKey(0)

img = cv.imread("d:/a.jfif")
cv.add()
control_bright(img, 2)

上面的代码实现调节一个图片的亮度和对比度的功能。

dst = cv.addWeighted(src1, alpha, src2, beta, gamma)的参数含义如下:

功能, 可以理解为dst = src1*alpha+src2*beta + gamma

src1:第一个图像

src2:第二个图像

alpha:第一个图像所占权重

beta:第二个图像所占权重

gamma:图像融合后对每一个像素再加上一个gamma值。

猜你喜欢

转载自www.cnblogs.com/loubin/p/12290023.html
今日推荐