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

北战南征 提交于 2020-02-10 10:38:49

加减乘除不说了,反正就是两幅相同的图片运用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值。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!