openCv学习记录4

准备工作:
导包
准备两张尺寸一样的图片

像素运算----算术运算

import cv2 as cv

src1=cv.imread("C:/Users/admin/Pictures/zyl/Tes1.jpg")
src2=cv.imread("C:/Users/admin/Pictures/zyl/zhuanhuan/tupianchuli/chuli1.jpg")

#必写的两个方法
cv.waitKey(0)#图片不断刷新(及存在)
cv.destroyAllWindows()#关闭所有图片窗体

加法运算

def add_demo(m1,m2):
    dst=cv.add(m1,m2)#通过add方法使两种照片像素叠加在一起
    cv.imshow("add_demo",dst)#显示图片

add_demo(src1,src2)#调用方法

减除乘运算

#减
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)

#显示
#subtract_demo(src1,src2)
#divide_demo(src1,src2)
multiply_demo(src1,src2)

均值

#均值
def others(m1,m2):
    M1=cv.mean(m1)
    M2=cv.mean(m2)
    print(m1)
    print(m2)

均值与分叉
分叉越大,图片之间的差异性越大,也就是对比度

def others(m1,m2):
    M1,dev1=cv.meanStdDev(m1)
    M2,dev2=cv.meanStdDev(m2)
    print(m1)#均值
    print(m2)
    print(dev1)#分叉
    print(dev2)

像素运算----逻辑运算

#与
def bitwise_and_demo(m1,m2):
    dst =cv.bitwise_and(m1,m2)
    cv.imshow("bitwise_and_demo",dst)
bitwise_and_demo(src1,src2)
#或
def bitwise_or_demo(m1,m2):
    dst =cv.bitwise_or(m1,m2)
    cv.imshow("bitwise_or_demo",dst)
bitwise_or_demo(src1,src2)
#非
def bitwise_not_demo(m1,m2):
    dst =cv.bitwise_not(m1,m2)
    cv.imshow("bitwise_not_demo",dst)
bitwise_not_demo(src1,src2)

掩膜(mask)

def extrace_object_demo():
        capture=cv.VideoCapture('C:/Users/admin/Pictures/sp/ge1.mp4')
        while (True):
            ret,frame=capture.read()
            if ret==False:
                break;
            hsv=cv.cvtColor(frame,cv.COLOR_BGR2HSV)
            lower_hsv=np.array([0,0,0])#
            upper_hsv=np.array([180,255,46])
            mask=cv.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv)
            dst= cv.bitwise_and(frame,frame,mask=mask)#利用mask显示轮廓
            cv.imshow("video",frame)
            cv.imshow("mask",dst)
            c=cv.waitKey(40)
            if c==27:
                break

亮度与对比度

#图像的亮度与对比度
def contrast_brightness_demo(image,c,b):
    h,w,ch=image.shape
    #构建一个空白图像层
    blank=np.zeros([h,w,ch],image.dtype)
    #addWeighted用来将两个图片进行融合。
    #参数:传进来的图片,对比度,空白图像,1-对比度  ,亮度
    dst=cv.addWeighted(image,c,blank,1-c,b)
    cv.imshow("con-bri-demo",dst)
contrast_brightness_demo(src1,1.2,10)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值