加法操作

cv2.add(img1,img2)

  • img2和img2的尺寸要一样
    • new_img = img[0:360,0:499] # 360,490是较小的图片的长宽
  • 返回的是一个图片矩阵
  • 对应位置相加超过255的统一变为255
  • 图片还可以与数字直接进行加法运算,相当于np.array与数字直接进行运算
    • eg : img += 100
    • 对应位置相加超过255的,对256取模,%256

减法操作

cv2.subtract()

  • 与加法操作相似
  • 对应像素相减小于0,统一变为0

乘法操作

cv2.multiply()

  • 与加法操作相似
  • 相乘大于255,自动变为255

除法操作

cv2.divide()

  • 与减法操作相似
  • 不够除的为0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    """
    @Project :Opencv学习
    @File :图像运算之加减乘除.py
    @IDE :PyCharm
    @Author :咋
    @Date :2023/1/12 19:50
    """
    import cv2
    image = cv2.imread("image.jpg")
    test = cv2.imread("test_0.png")
    # 图片分割
    image = image[:480,:640] # 这里写死了,实际可以定义一个函数去判断,然后去修改值
    # 图片相加
    add_image = cv2.add(image,test)
    cv2.imshow("add_image",add_image)
    # 图片相减
    sub_img = cv2.subtract(image,test)
    cv2.imshow("sub_img",sub_img)
    # 图片相乘
    mul_image = cv2.multiply(image,test)
    cv2.imshow("mul_image",mul_image)
    # 图片相除
    div_image = cv2.divide(image,test)
    cv2.imshow("div_image",div_image)
    # 图片与数字运算
    image += 100
    cv2.imshow("dig_imag",image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    image.png
    image.png
    image.png
    image.pngimage.png