几个函数的应用
话不多说,先上代码
import numpy as np
import cv2 as cv
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 multiple_demo(m1, m2):
dst = cv.multiply(m1, m2)
# 将图片进行相乘
cv.imshow('muitiply_demo', dst)
def others(m1, m2):
M1 = cv.mean(m1)
M2 = cv.mean(m2)
print(M1)
print(M2)
#算出均值 采用mean
#算出方差采用meanStdDev
def logic_demo(m1, m2):
cv.bitwise_and(m1, m2)#与
cv.bitwise_or(m1, m2)#或
cv.bitwise_not(m1)
def contrast_brightness_demo(image, a, b):
h, w = image.shape
src1 = cv.imread('D:\QQPCmgr\Desktop\opencv-4.1.0\samples\data\LinuxLogo.jpg')
src2 = cv.imread('D:\QQPCmgr\Desktop\opencv-4.1.0\samples\data\WindowsLogo.jpg')
# print(src1.shape)
# print(src2.shape)
cv.namedWindow('image1', 0)
others(src1,src2)
# cv.imshow('image1', src1)
# cv.imshow('image2', src2)
# add_demo(src2, src1)
# subtract_demo(src1, src2)
# divide_demo(src1, src2)
multiple_demo(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()
像素的运算分为算术运算和逻辑运算
cv.add()加
cv.substract()减
cv.multiply()乘
cv.divide()除
cv.bitwise_and()与
cv.bitwise_or()或
cv.bitwise_not()非
非常好记
我们知道,图片的像素范围一般为0-255,零表示黑色,255表示白色,但是通过图片的加减乘除可能会将图片的像素范围变成负数或者超出了255,这时候图片的展示形式会将像素值小于等于零的值显示为黑,大于零的值显示为白色,但是有些色素点非常接近黑色,但不是黑色就会产生如下效果
可以看到LINUX字旁边的一团的效果。
以上的一些函数都是实现简单的函数的融合,但是实现的速度是很快的!