OpenCV学习笔记4
OpenCV中的减加乘除
两张图片要有相同的大小和通道数,当深度不一致时,输出图像要明确指定深度
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)
求图像的均值和方差
M1, dev1 = cv.meanStdDev(m1)
对比度增强
addWeighted()函数
dst = cv.addWeighted( src1, alpha, src2, beta,gamma, dst, dtype)
大致意思如下
src1:插入的第一个图片;
src2:插入的第二个图片;
alpha:double类型,加权系数,是src1图片的融合占比 ;
beta:double类型,加权系数,是src2图片的融合占比;
gamma:double类型,加权后图像的偏移量;
dst:输出图像;
dtype:默认为-1。
该函数的计算公式为
def contrast_brighten_demo(image,c,b):#c为对比度 b 为亮度
h,w,ch=image.shape #获取图像尺寸
blank =np.zeros([h,w,ch],image.dtype) #创建一个和图像尺寸相同的纯黑图片
#或者blank=np.zeros_like(image,image.dtype)
dst=cv.addWeighted(image,c,blank,1-c,b)#调整权重
cv.imshow("con-bri-demo",dst)