图像的运算 代码和笔记 代码和笔记 import cv2 import numpy as np""" 图像的运算 """# 读取图片 cat1 = cv2.imread('./img/cat.jpeg') cat2 = cv2.imread('./img/cat.jpeg')""" 加减乘除 """ # 加法(有点杂交的感觉) 图片长宽和通道数相同 # 如果不一样使用ndarray的切片方法如cat[0:360,:499] # 加法规则 两个图对应位置的元素相加,如果超过255,则变为255 # 也可以和数字相加, 超出255则 %256 new_img = cv2.add(cat1, cat2) cv2.imshow('new_img', new_img)# 减法 结果小于0,全部为0,变黑 new_img1 = cv2.subtract(cat1, cat2) cv2.imshow('new_img1', new_img1) # 乘法multipy 除divide类似""" 图像融合(图片做线性运算)0.3和0.7是两张需要融合的图片各自的权重,-100是偏置(明暗程度) """ new_img2 = cv2.addWeighted(cat1, 0.3, cat2, 0.7, -100) cv2.imshow('new_img2', new_img2)""" 与&(bitwise_and) 异或^(bitwise_) 非~(bitwise_not)(0-255,即0反过来为255,也就是相当于255减去原来的值) 运算,OpenCV中对应位置对应进行运算 """cv2.waitKey(0) cv2.destroyAllWindows()