opencv-python学习(六):图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)

一、数值运算加减乘除

opencv自带图片色素的处理函数

相加:add() 相减:subtract() 相乘:multiply() 相除:divide()

原理就是:通过获取两张(一次只能是两张)个图片的同一个位置的色素值来实现运算。运算的要求:两张图片的shape要一样。

代码如下:

# 引入包
import cv2 as cv

def shu_image(src11, src22):
    src = cv.add(src11, src22) # 相加
    cv.imshow("addImage",src)
    src = cv.subtract(src11, src22) # 相减
    cv.imshow("subImage", src)
    src = cv.multiply(src11, src22) # 相乘
    cv.imshow("mulImage", src)
    src = cv.divide(src11, src22) # 相除
    cv.imshow("divide", src)

src1 = cv.imread("./static/image/linux.jpg")
src2 = cv.imread("./static/image/windows.jpg")
cv.imshow("src1", src1)
cv.imshow("src2", src2)
shu_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()

运行结果:
在这里插入图片描述

————————————————————————————————————————————————————

二、逻辑运算(与或非异或)

opencv自带图片色素的处理函数

与:bitwise_add() 或:bitwise_or() 非:bitwise_not() 异或:bitwise_xor()

逻辑运算:与或非的操作

代码如下:

# 引入包
import cv2 as cv

def luo_image(src11, src22):
    src = cv.bitwise_and(src11, src22) # 与 两张图片同一位置的色素两个值均不为零的才会有输出
    cv.imshow("and", src)
    src = cv.bitwise_or(src11, src22) # 或 两张图片同一位置的色素两个值不全为零的才会有输出
    cv.imshow("or", src)
    src = cv.bitwise_xor(src11, src22) # 异或 两张图片同一位置的色素两个值有一个为零,另一个不为零才会输出
    cv.imshow("xor", src)
    src = cv.bitwise_not(src11, src22)  # 非 对一张图片操作 取反
    cv.imshow("nor", src)

src1 = cv.imread("./static/image/linux.jpg")
src2 = cv.imread("./static/image/windows.jpg")
cv.imshow("src1", src1)
cv.imshow("src2", src2)
luo_image(src1, src2)

cv.waitKey(0)
cv.destroyAllWindows()

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值