【OpenCV基础】04. 像素运算

04. 像素运算

前提是进行运算的两张图像必须像素大小一致且类型相同。

1. 算术运算

  • 加减乘除
  • 调节图像亮度
  • 调节图像对比度

2. 逻辑运算

  • 与或非
  • 遮罩层控制

3. 代码层面知识点

  1. 常见图像混合
  2. 算法运算与几何运算
import cv2 as cv
import numpy as np


def add_demo(m1, m2):
    dst = cv.add(m1, m2)
    cv.imshow("add_demo", dst)


def subtract_demo(m1, m2):
    dst = cv.subtract(m1, m2)
    cv.imshow("subtract_demo", dst)


def divide_demo(m1, m2):
    dst = cv.divide(m1, m2)
    cv.imshow("divide_demo", dst)


def multiply_demo(m1, m2):
    dst = cv.multiply(m1, m2)
    cv.imshow("multiply_demo", dst)


def others(m1, m2):#均值
    M1 = cv.mean(m1)
    M2 = cv.mean(m2)
    #M1, dev1 = cv.meanStdDev(m1)均值和方差
    print(M1)
    print(M2)


def logic_demo(m1, m2):
    #dst = cv.bitwise_and(m1, m2)
    #dst = cv.bitwise_or(m1, m2)
    image = cv.imread("F:/tool/PyCharm/pic/test1.jpeg")
    dst = cv.bitwise_not(image)
    cv.imshow("logic demo", dst)


def contrast_brightness_demo(image, c, b):
    h, w, ch = image.shape
    blank = np.zeros([h, w, ch], image.dtype)
    dst = cv.addWeighted(image, c, blank, 1-c, b)
    cv.imshow("con_bri_demo", dst)


print("--------Hello Python--------")
src1 = cv.imread("F:/tool/PyCharm/pic/pic1.jpg")
src2 = cv.imread("F:/tool/PyCharm/pic/pic2.jpg")
print(src1.shape)
print(src2.shape)
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE)
cv.imshow("image1", src1)
cv.imshow("image2", src2)

#logic_demo(src1, src2)

src = cv.imread("F:/tool/PyCharm/pic/test1.jpeg")
cv.imshow("image3", src)
contrast_brightness_demo(src, 1.2, 15)

#add_demo(src1, src2)
#subtract_demo(src1, src2)
#multiply_demo(src1, src2)
#divide_demo(src1, src2)

cv.waitKey(0)

cv.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值