Opencv学习笔记——图像像素算法处理

以下均为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

 

运算结果:

原图:

              

二者相加:                                                   二者相减:   

Opencv学习笔记——图像像素算法处理_第1张图片              Opencv学习笔记——图像像素算法处理_第2张图片

二者相乘:                                                   二者相除:
Opencv学习笔记——图像像素算法处理_第3张图片              Opencv学习笔记——图像像素算法处理_第4张图片

你可能感兴趣的:(opencv,图像识别,python)