对图片中的人脸进行马赛克
原图:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = r"C:\Users\Curry\Desktop\lena.jpg"
img = cv2.imread(img)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
plt.imshow(img)
坐标点根据原图获取人脸的两个
获取人脸
face1= img[150:280,350:460]
plt.imshow(face1)
face= img[150:280,350:460]
face = face[::10,::10] #每隔10个去处一个像素-马赛克
face = np.repeat(face,10, axis=0)
face = np.repeat(face,10, axis=1)
img[150:280,350:460]= face #填充回去-变为原来大小
plt.imshow(face)
效果:
对比:
plt.figure(figsize=(10,10))
plt.subplot(2,2,1)
plt.imshow(face1)
plt.subplot(2,2,2)
plt.imshow(face)