openCV编程基础4--像素运算

主要功能:

1.实现两张图片像素的加减乘除

2.实现两张图片的逻辑运算--与或非

3.调整图像对比度与亮度

4.计算图像的均值与方差

import cv2 as cv
import numpy as np


#两张图片相加(两张图片的大小要一致)
def add_demo(m1,m2):
    des = cv.add(m1,m2)
    cv.imshow('add',des)


#两张图片相减(两张图片的大小要一致)
def subtrace_demo(m1,m2):
    des = cv.subtract(m1,m2)
    cv.imshow('sub',des)

#两张图片相除(两张图片的大小要一致)
def divide_demo(m1,m2):
    des = cv.divide(m1,m2)
    cv.imshow('div',des)

#两张图片相乘(两张图片的大小要一致)
def multiply_demo(m1,m2):
    des = cv.multiply(m1,m2)
    cv.imshow('mul',des)

#两张图片与或非(两张图片的大小要一致)
def logic_demo(m1,m2):
    yu = cv.bitwise_and(m1,m2)
    huo = cv.bitwise_or(m1,m2)
    fei = cv.bitwise_not(m1)       #非  就是按位取反

    cv.imshow('yu',yu)
    cv.imshow('huo',huo)
    cv.imshow('fei',fei)

#调整图像对比度与亮度
def contrast_brightness_demo(image,c,b):  #这里c代表对比度,b代表亮度
    h,w,ch = image.shape
    blank = np.zeros([h,w,ch],image.dtype)
    det = cv.addWeighted(image,c,blank,1-c,b)
    cv.imshow('con-bri',det)


#计算图像的均值与方差
def others(m1,m2):
    M1, dev1 = cv.meanStdDev(m1)
    M2, dev2 = cv.meanStdDev(m2)

    print(M1)   #输出均值
    print(M2)

    print(dev1)  #输出方差
    print(dev2)



src1 = cv.imread('F:001.jpg')
src2 = cv.imread('F:002.jpg')
#cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
cv.imshow("img1", src1)
cv.imshow('img2',src2)
add_demo(src1,src2)         ##两张图片相加(两张图片的大小要一致)
subtrace_demo(src1,src2)    #两张图片相减(两张图片的大小要一致)
divide_demo(src1,src2)      #两张图片相除(两张图片的大小要一致)
multiply_demo(src1,src2)    #两张图片相乘(两张图片的大小要一致)
logic_demo(src1,src2)         #两张图片与或非(两张图片的大小要一致)
contrast_brightness_demo(src1,1.2,20)  #调整图像对比度与亮度
others(src1,src2)             #计算图像的均值与方差
# print(src1.shape)
# print(src2.shape)
cv.waitKey(0)
cv.destroyAllWindows()

输出结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值