OpenCV-python基础操作之对大小相同图片进行像素运算(加减乘除)

OpenCV-python基础操作之像素之间的数组运算(加减乘除),大小相同的两张图片 ,应用调节亮度,调节对比度

像素之间进行加法运算操作:

# 代码描述:  像素之间的数组运算:加减乘除,调节亮度,调节对比度
# 
# 创建时间: 2020-09-14
# 创建人: Wupke
# 修改时间:
# 版本:
import cv2 as cv


def add_demo(p1, p2):           # 定义像素相加的操作函数
    dst = cv.add(p1, p2)
    cv.imshow("add_demo", dst)


src1 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/linux.jpeg")  # 读取图片1
src2 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/aj.jpg")  # 读取图片2
print(src1.shape)                                               # 显示图片的信息
print(src2.shape)
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE)
cv.namedWindow("image2", cv.WINDOW_AUTOSIZE)
cv.imshow("image1", src1)    
cv.imshow("image2", src2)    

add_demo(src1, src2)         # 调用叠加函数

cv.waitKey(0)                # 保持对话框
cv.destroyWindow('all')      # 清除内存

读取两张大小相同的图像:

OpenCV-python基础操作之对大小相同图片进行像素运算(加减乘除)_第1张图片

像素叠加的效果:

OpenCV-python基础操作之对大小相同图片进行像素运算(加减乘除)_第2张图片

减:


# 代码描述:  大小相同两张图片,像素之间进行数组减运算
# 原理:
# 创建时间: 2020-09-14
# 创建人: Kenn Wu
# 修改时间:
# 版本:
import cv2 as cv

def subtract_demo(p1, p2):      # 定义像素相减的操作函数
    dst = cv.subtract(p1, p2)
    cv.imshow("subtract_demo", dst)


src1 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/linux.jpeg")  # 读取图片
src2 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/aj.jpg")  # 读取图片
print(src1.shape)
print(src2.shape)
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE)
cv.namedWindow("image2", cv.WINDOW_AUTOSIZE)
cv.imshow("image1", src1)    # 显示图片
cv.imshow("image2", src2)    # 显示图片

subtract_demo(src1, src2)         # 调用减法函数

cv.waitKey(0)                # 保持对话框
cv.destroyWindow('all')      # 清除内存

像素之间相减的效果:

@
@
OpenCV-python基础操作之对大小相同图片进行像素运算(加减乘除)_第3张图片

乘:

# 代码描述:  大小相同两张图片,像素之间进行乘法运算
# 原理:
# 创建时间: 2020-09-14
# 创建人: Kenn Wu
# 修改时间:
# 版本:
import cv2 as cv

def multiply_demo(p1, p2):      # 定义像素间乘法操作
    dst = cv.multiply(p1, p2)
    cv.imshow("multiply_demo", dst)

src1 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/linux.jpeg")  # 读取图片
src2 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/aj.jpg")  # 读取图片
print(src1.shape)
print(src2.shape)
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE)
cv.namedWindow("image2", cv.WINDOW_AUTOSIZE)
cv.imshow("image1", src1)    # 显示图片
cv.imshow("image2", src2)    # 显示图片

multiply_demo(src1, src2)         # 调用乘法法操作

cv.waitKey(0)                # 保持对话框
cv.destroyWindow('all')      # 清除内存

像素相乘效果图:

OpenCV-python基础操作之对大小相同图片进行像素运算(加减乘除)_第4张图片

除:

# 代码描述:  大小相同两张图片,像素之间进行除法运算
# 原理:
# 创建时间: 2020-09-14
# 创建人: Kenn Wu
# 修改时间:
# 版本:
import cv2 as cv

def divide_demo(p1, p2):      # 定义像素除法的操作
    dst = cv.divide(p1, p2)
    cv.imshow("divide_demo", dst)


src1 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/linux.jpeg")  # 读取图片
src2 = cv.imread("../OpenCV_Files/pictures_for_OpenCV/aj.jpg")  # 读取图片
print(src1.shape)
print(src2.shape)
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE)
cv.namedWindow("image2", cv.WINDOW_AUTOSIZE)
cv.imshow("image1", src1)    # 显示图片
cv.imshow("image2", src2)    # 显示图片

divide_demo(src1, src2)         # 调用除法操作

cv.waitKey(0)                # 保持对话框
cv.destroyWindow('all')      # 清除内存

像素相除效果图:

OpenCV-python基础操作之对大小相同图片进行像素运算(加减乘除)_第5张图片

你可能感兴趣的:(OpenCV-python,opencv,python,计算机视觉)