OpenCV——05像素运算

OpenCV——05像素运算

像素运算

  • 算术运算
    • 加、减、乘、除
    • 应用——调节亮度、对比度
  • 逻辑运算
    • 与、或、非
    • 应用——遮罩层控制
# -*- coding:utf-8 -*-
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 logic_demo(m1, m2):
    # dst = cv.bitwise_and(m1, m2)
    # dst = cv.bitwise_or(m1, m2)
    image = cv.imread("D:\Python\Projects\OpenCV_toturial\images\WindowsLogo.jpg")
    dst = cv.bitwise_not(image)
    cv.imshow("logic_demo", dst)
    
def contrast_brightness_demo(image, c, b):
    '''
    :param image: 输入的图片
    :param c: 对比度
    :param b: 亮度
    :return: none
    '''
    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)

def others(m1, m2):
    M1, dev1 = cv.meanStdDev(m1)
    M2, dev2 = cv.meanStdDev(m2)
    h, w = m1.shape[:2]
    print(M1)
    print(M2)
    print(dev1)
    print(dev2)
    img = np.zeros((h, w), np.uint8)
    m, dev = cv.meanStdDev(img)
    print(m)
    print(dev)

# 读取图片
src1 = cv.imread("D:\Python\Projects\OpenCV_toturial\images\LinuxLogo.jpg")
src2 = cv.imread("D:\Python\Projects\OpenCV_toturial\images\WindowsLogo.jpg")
# print(src1.shape)
# print(src2.shape)
# 创建opencv的GUI窗口
# cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
# 将图片放入指定名字的窗口中显示出来
# cv.imshow("image1", src1)
# cv.imshow("image2", src2)
# add_demo(src1, src2)
# subtract_demo(src1, src2)
# divide_demo(src1, src2)
# multiply_demo(src1, src2)
# others(src1, src2)
# logic_demo(src1, src2)
cv.imshow("image2", src2)
contrast_brightness_demo(src2, 1.3, 2)
# 设置waitKey中的delay为0,程序会等待用户操作后关闭窗口
cv.waitKey(0)
cv.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值