前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >心形模糊

心形模糊

作者头像
裴来凡
发布2022-05-29 09:38:41
4850
发布2022-05-29 09:38:41
举报
文章被收录于专栏:图像处理与模式识别研究所
代码语言:javascript
复制
from mtcnn.mtcnn import MTCNN
import cv2
import numpy as np
img=cv2.imread("C:/Users/xpp/Desktop/Lena.png")#读取图像
detector=MTCNN()
face_list=detector.detect_faces(img)#人脸检测与对齐 
def generate_mask(img_height,img_width,radius,center_x,center_y):
    y,x=np.ogrid[0:img_height,0:img_width]
    scale=5/radius
    mask=5*((-x+center_x)*scale)**2-6*np.abs((-x+center_x)*scale)*((-y+center_y)*scale)+5*((-y+center_y)*scale)**2<128#心形模糊
    return mask
mask_img=np.ones(img.shape,np.int8)
kernel_size=15
blur_img=cv2.blur(img,(kernel_size,kernel_size))
for face in face_list:
    box=face["box"]
    x,y,w,h=box#边界框
    mask=generate_mask(img.shape[0],img.shape[1],max(w,h)/2,x+w/2,y+h/2)
    mask_img[mask]=[0,0,0]
mask_img_verse=np.ones(img.shape,np.int8)-mask_img
result_img=mask_img*img+mask_img_verse*blur_img
cv2.imwrite("C:/Users/xpp/Desktop/result.png",result_img)

算法:心形模糊是生成圆形模糊虚化遮罩,应用在对人脸(物体)检测后,进行人脸(物体)模糊虚化处理,通过适当的旋转、平移和缩放图像之后即可适当地遮住人脸(物体)。

心形线的产生函数为:

5x^2 - 6|x|y + 5y^2 = 128

文献:Reeves, W. T. . (1983). Particle systems-a technique for modeling a class of fuzzy objects. Computer Graphics (SIGGRAPH '83), 17.

链接:https://www.desmos.com/calculator?lang=zh-CN

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档