参考:https://blog.csdn.net/qq_43328040/article/details/109081414
import cv2 import numpy as np import random #马赛克:将一定大小窗口的RGB设置成一个颜色 def horseBox(img): row,col,chal = img.shape boxRow = int(0.3*row) boxcol = int(0.3*col) for m in range(50,boxRow+50): for n in range(50,boxcol+50): if m%5 == 0 and n%5 == 0: (b, g, r) = img[m, n] for i in range(5): for j in range(5): img[m+i,n+j] = (b,g,r) return img #毛玻璃效果:在一定窗口内,将当前的像素颜色随机设置为窗口中的一个颜色 def glassesEffect(img): height = img.shape[0] width = img.shape[1] dat = np.zeros(img.shape, np.uint8) for m in range(height-8): for n in range(width-8): index = int(random.random() * 8) (b, g, r) = img[m + index, n + index] dat[m, n] = (b, g, r) return dat #图像融合,两幅图像通过系数来得到一个融合图像中的像素值 def rongHeImg(img1,img2,weight): dat = np.zeros(img1.shape, np.uint8) dat = cv2.addWeighted(img1, weight, img2, 1-weight, 0) return dat if __name__ == '__main__': img = cv2.imread(r"E:\PYTHON\Image_Processing\colorful_lena.jpg", 1) img2 = cv2.imread(r"E:\PYTHON\Image_Processing\img11.jpg", 1) horseBoxImg = horseBox(img) glassesEffectImg = glassesEffect(img) rongHeImg = rongHeImg(img,img2,0.5) cv2.imshow('',rongHeImg) cv2.waitKey(0)