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

Posted loubin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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值。

以上是关于opencv实现图片的算术,逻辑运算和图片融合功能(亮度和对比度)的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV中图像算术操作与逻辑操作

python opencv学习——算术运算和逻辑运算

python opencv学习——算术运算和逻辑运算

OpenCV(C++)图像运算

opencv中如何让白色的区域变成透明背景,然后和别的图片融合???

PyQt5番外篇:PyQt5与Opencv的小小融合