python + opencv 图像处理(六)——像素运算

对图像进行“加减乘除、平均值方差、逻辑运算、调节对比度亮度”。

# 像素运算
from cv2 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)  #算均值和方差
    M2,dev2 = cv.meanStdDev(m2)
    print(M1)
    print(M2)
    print('dev1:',dev1)
    print('dev2:',dev2)

#逻辑运算    
def logic_demo(m1,m2):
    dst = cv.bitwise_not(m1,m2)
    dst = cv.bitwise_or(m1,m2)
    dst = cv.bitwise_and(m1,m2)
    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)

filepath1 = "C:\\pictures\\0.jpg"   #两张一样大小的图 #并不是指存储大小,而是长宽通道
filepath2 = "c:\\pictures\\1.png"
img1 = cv.imread(filepath1)
img2 = cv.imread(filepath2)
print(img1.shape)
print(img2.shape)
cv.imshow("input image1",img1)
cv.imshow("input image2",img2)
# video_demo()
'''
add_demo(img1,img2)
subtract_demo(img1,img2)
divide_demo(img1,img2)
multiply_demo(img1,img2)

'''
others(img1,img2)
cv.waitKey(0)
cv.destroyAllWindows()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值