以下均为github上opencv的个人学习笔记,原路径如下:
https://github.com/JimmyHHua/opencv_tutorials
源码示例:
import cv2 as cv
import numpy as np
src1 = cv.imread("./test0.jpg")
src2 = cv.imread("./test1.jpg")
cv.imshow("input1", src1)
cv.imshow("input2", src2)
h,w,ch = src1.shape
print("h,w,ch",h,w,ch)
add_result = np.zeros(src1.shape,src1.dtype)
cv.add(src1,src2,add_result)
cv.imshow("add_result", add_result)
sub_result = np.zeros(src1.shape, src1.dtype)
cv.subtract(src1,src2,sub_result)
cv.imshow("sub_result",sub_result)
mul_result = np.zeros(src1.shape, src1.dtype)
cv.multiply(src1,src2,mul_result)
cv.imshow("mul_result",mul_result)
div_result = np.zeros(src1.shape, src1.dtype)
cv.divide(src1,src2, div_result)
cv.imshow("div_result", div_result)
cv.waitKey(0)
cv.destroyAllWindows()
1.图像的加运算
加运算就是两幅图像对应像素的灰度值或彩色分量进行相加。主要有两种用途,一种是消除图像的随机噪声,主要做是讲同一场景的图像进行相加后再取平均;另一种是用来做特效,把多幅图像叠加在一起,再进一步进行处理。
对于灰度图像,因为只有单通道,所以直接进行相应位置的像素加法即可,对于彩色图像,则应该将对应的颜色的分量分别进行相加。
通常来将,两幅或多幅相加的图像的大小和尺寸应该相同。
cv.add(src1,src2,add_result) //意思是add_result = src1+src2
2.图像相减
减法运算就是两幅图像见对象像素的灰度值或彩色分量进行相减,它可以用于目标检测,程序实现还是使用两种方法。
cv.subtract(src1,src2,sub_result) //意思是sub_result = src1-src2
3.图像相乘
图像的乘法运算就是将两幅图像对应的灰度值或彩色分量进行相乘。
乘运算的主要作用是抑制图像的某些区域,掩膜值置为1,否则置为0。乘运算有时也被用来实现卷积或相关的运算。
cv.multiply(src1,src2,mul_result) //意思是mul_result = src1*src2
4.图像相除
图像除运算就是两幅图像对应像素的灰度值或彩色分量进行相除。
简单的出运算可以用于改变图像的灰度级
cv.divide(src1,src2, div_result) //意思是div_result = src1/src2
运算结果:
原图:
二者相加: 二者相减: