OpenCV图像之间的操作

这里写图片描述

# 1、在图像上进行算术操作,如加减以及按位操作  
# 2、将会学会使用cv2.add(),cv2.addWeights()  
# 参考网站:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_image_arithmetics/py_image_arithmetics.html#image-arithmetics  
import numpy as np  
import cv2  


# 两种方法进行图像的加操作:  
# 1、利用opencv的函数  
# 2、利用numpy中的操作  
# 这两个操作有些不同  
# opencv中超出后并不会溢出,只会变成最大值(255),但numpy会溢出。  
x = np.uint8([250])  
y = np.uint8([10])  
print(cv2.add(x,y))# 输出255  
print(x+y)#输出4,因为发生溢出  

### 总结:可见使用cv2的加法更加好一些,以免发生溢出现象。  



# 两张图像按权重进行相加融合  
# 这里有两张图片,一张是cat,一张是dog。将两者相加,前者权重0.3,后者0.7  
img1 = cv2.imread('cat.jpg')  
img2 = cv2.imread('dog.jpg')  
# 注意两个图片需要相同的尺寸,否则无法进行相加或融合操作  

img = cv2.addWeighted(img1, 0.3, img2, 0.7, 0)  
# 其中最后一个0,表示两个图像相加后的常数值,这里设置为0  
cv2.imshow('img',img)  
cv2.waitKey()  
cv2.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/zhangyu4863/article/details/81206532