1.两个图像相加
import cv2 import numpy as np img1 = cv2.imread('C:\\Users\\Mengyang\\Desktop\\123.png') #加载图片 #图的加法运算就是矩阵的运算 #因此进行加法运算的两张图片的大小要相同 print(img1.shape) #打印图片大小信息 img2 = np.ones((800,1200,3),np.uint8)*50 #每个像素全为1,乘以100 result = cv2.add(img1,img2) #两个图像相加 cv2.imshow('result',result) cv2.imshow('orig',img1) cv2.waitKey(0)
讯享网
2.两个图像相减
所用API subtract(A,B)
含义是A-B
相加相减运算,可以使图片变亮或变暗
讯享网result = cv2.add(img1,img2) #两个图像相加,使图片变亮 img3 = cv2.subtract(result,img2) #两个图像相减,使图片变暗
3.图像乘与图像除
乘 multiply(A,B) 使加的更快
除 divide(A,B) 减的更快
4.图像的溶合
addWeighted(A,alpha,B,bate,gamma)
只有图像大小和通道数一样时才能进行融合
A:加法运算的图像A
B:加法运算的图像B
alpha和bate是A和B在溶合后的分别权重,也就是占比
gamma 静态权重,最后生成的图片所有元素加上gamma
import cv2 import numpy as np img1 = cv2.imread('C:\\Users\\Mengyang\\Desktop\\111.png') img2 = cv2.imread('C:\\Users\\Mengyang\\Desktop\\112.png') print(img1.shape) #只有图像大小和通道数一样时才能进行融合 print(img2.shape) result = cv2.addWeighted(img1,0.2,img2,0.8,0) cv2.imshow('result',result) cv2.waitKey(0)
运行结果:

5.图像的位运算
5.1 与运算
bitwise_and(img1,img2)
讯享网import cv2 from cv2 import bitwise_not from cv2 import bitwise_and import numpy as np #创建一张图片 img = np.zeros((200,200),np.uint8) img1 = np.zeros((200,200),np.uint8) img[20:120,20:120] = 255 img1[80:180,80:180] = 255 cv2.imshow('img',img) cv2.imshow('img1',img1) #new_img = bitwise_not(img) #图像非运算 new_img = bitwise_and(img,img1) cv2.imshow('new_img',new_img) cv2.waitKey(0)
运算结果:
5.2 或运算
bitwise_or(img1,img2)
new_img = cv2.bitwise_or(img,img1) #图像或运算
运行结果:
5.3 非运算
bitwise_not(img)
讯享网import cv2 from cv2 import bitwise_not import numpy as np #创建一张图片 img = np.zeros((200,200),np.uint8) img[50:150,50:150] = 255 cv2.imshow('img',img) new_img = bitwise_not(img) #图像非运算 cv2.imshow('new_img',new_img) cv2.waitKey(0)
运行结果:
5.4 异或运算
bitwise_xor(img1,img2)
import cv2 import numpy as np #创建一张图片 img = np.zeros((200,200),np.uint8) img1 = np.zeros((200,200),np.uint8) img[20:120,20:120] = 255 img1[80:180,80:180] = 255 cv2.imshow('img',img) cv2.imshow('img1',img1) #new_img = bitwise_not(img) #图像非运算 #new_img = cv2.bitwise_and(img,img1) #图像与运算 #new_img = cv2.bitwise_or(img,img1) #图像或运算 new_img = cv2.bitwise_xor(img,img1) #图像异或运算 cv2.imshow('new_img',new_img) cv2.waitKey(0)


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/59195.html