opencv人脸打马赛克

news2024/12/23 13:59:01
import cv2


def FaceFind(imgPath: str) -> list:
    image = cv2.imread(imgPath)

    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    # 返回人脸坐标列表
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))

    # 保存图片
    # for (x, y, w, h) in faces:
    #    cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 3)
    #    cv2.imwrite('face.jpg', image)

    return faces


def ApplyMosaic(ImagePath: str, BoxList: list):
    # 加载原始图像
    image = cv2.imread(ImagePath)
    # 马赛克坐标
    for box in BoxList:
        (x, y, w, h) = box
        # 从原始图片中获取马赛克图片位置
        roi = image[y:y + h, x:x + w]
        # 马赛克块大小 10x10
        roi_small = cv2.resize(roi, (10, 10), interpolation=cv2.INTER_LINEAR)
        roi_back = cv2.resize(roi_small, (w, h), interpolation=cv2.INTER_NEAREST)
        image[y:y + h, x:x + w] = roi_back
    cv2.imwrite('output_image.jpg', image)


def main():
    # 图片路径
    ImagePath = "img_2.png"
    # 马赛克应用的区域
    BoxList = FaceFind(ImagePath)
    ApplyMosaic(ImagePath, BoxList)


if __name__ == '__main__':
    main()

效果:
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1614444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MultiCD工具:创建一个多引导Linux USB驱动器

众所周知,拥有一个可安装多个可用操作系统的 CD 或 USB 驱动器在各种情况下都非常有用。无论是为了快速测试或调试某些内容,还是只是重新安装笔记本电脑或 PC 的操作系统,这都可以为你节省大量时间。 在本文中,将介绍如何使用名为…

高度自定义工业自动化配置:钡铼IOy系列模块广泛应用各行业案例

钡铼IOy系列模块是当今工业自动化领域中备受瞩目的一种设备,其高度自定义的特性使其在各行各业都得到了广泛的应用。无论是在制造业、能源领域还是物流行业,钡铼IOy系列模块都发挥着重要的作用,为企业提高生产效率、降低成本、提升产品质量等…

每日更新的Socks5代理服务推荐

大家好!我是一名对于IP代理知识非常熟悉的作者,今天我要为大家介绍的是每日更新的Socks5代理服务推荐。作为一个资深的网络爱好者,我深知在网络世界中保护个人隐私和确保数据安全的重要性。而Socks5代理服务则是一种既能够隐藏我们真实IP地址…

如何获取llama2模型

如何从huggingface快速下载llama2模型_llama2下载-CSDN博客文章浏览阅读1.6k次。【代码】如何从huggingface快速下载模型。_llama2下载https://blog.csdn.net/zh515858237/article/details/131248643?ops_request_misc&request_id&biz_id102&utm_termLlama%202%E6…

代码随想录算法训练营day34

题目:860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球 参考链接:代码随想录 860.柠檬水找零 思路:本题思路比较容易想,主要对于5,10,20三种情况分别讨论,维护三个变量分别记录目前手中三种钞票…

P450焕新而来,室内外两用+路径规划+YOLO点击跟踪,算力高达100TOPS

Prometheus 450(简称P450)是一款室内室外两用的中型轴距(410mm)无人机,基于F450基础飞行平台,搭载感知传感器二维平面激光雷达,双目深度相机等,配合软件Prometheus自主无人机系统和S…

GitOps 和 DevOps 有什么区别?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

OpenStack 入门体验

目录 一、云计算概述 1.1、什么是云计算 1.2、云计算的服务模型 1)IaaS 2)PaaS 3)SaaS 1.3、OpenStack 概述 1)OpenStack 起源 2)什么是 OpenStack 3)OpenStack 优势 二、OpenStack 一…

【1569】jsp学生学籍管理系统Myeclipse开发sqlserver数据库web结构jsp编程计算机网页项目

一、源码特点 jsp 学生学籍管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为sqlserver2…

RuoYi-Vue-Plus ()

一、SaInterceptor 注解鉴权和路由拦截鉴权 拦截器:SaInterceptor 实现类位置: cn.dev33.satoken.interceptor.SaInterceptor 功能:Sa-Token 综合拦截器,提供注解鉴权和路由拦截鉴权能力 /*** 创建一个 Sa-Token 综合拦截器&…

2024年新材料与化学工程国际学术会议(ICNMCE 2024)

2024年新材料与化学工程国际学术会议(ICNMCE 2024) 2024 International Conference on New Materials and Chemical Engineering 一、【会议简介】 2024年新材料与化学工程国际学术会议,将汇集全球顶尖学者,展开一场学术盛宴。 在这次会议上&#xff0c…

Git禁止松散对象loose objects弹窗

打开仓库时,弹窗如图 This repository currently has approximately XXXX loose objects.解决办法:见How to skip “Loose Object” popup when running ‘git gui’ Git v1.7.9 或以上版本,执行git config --global gui.gcwarning false

IDEA更换新版本启动没反应

目前安装了新的IDEA(压缩包方式),由于老版本的IDEA还在用,所以并没有删除,但是安装完后发现点击idea64.exe后没有反应,于是网上找了好多方法最后解决了 下面是我的解决过程 新版本:IntelliJIdea2024.1 老版本: Intelli…

使用matlab/C语言/verilog分别生成coe文件

之前已经写过一个如何使用matlab生成coe文件,matlab自行运算生成三角波、正弦波等数据,并保存为COE文件。可跳转下面的网址进行查阅。 使用matlab生成正弦波、三角波、方波的COE文件_三角波文件.coe-CSDN博客https://blog.csdn.net/yindq1220/article/d…

如何自动监控WordPress网站的运行状态

近来有不少Hostease的客户来咨询关于监控网站在线情况的方法,确实,尽管我们采取了各方面的措施来维护和保护WordPress网站,网站依然有可能由于一些不可控的原因关闭,这种情况往往事发突然,如果没有提前做好准备&#x…

FloodFill算法简介(用BFS、DFS算法解决)

FloodFill算法中文名:洪水灌溉 FloodFill通常是这样一类问题,如下图: 负数表示凹陷的土地,正数表示凸起的土地,发洪水/下雨会淹没凹陷的地方 通常会问这几种问题: 1.被淹没的区域有几块 2.被淹没的最大…

嵌入式物联网开发基石

前言 嵌入式物联网开发工程师,是一个蓝海新风口,高薪不内卷的行业。需要掌握熟悉c/c、单片机、数据结构,linux系统,ARM单片机,嵌入式。可以从事工作项目loT、视频监控领域的产品,跨平台系统,智能…

联想拯救者电脑数据恢复方法,适用于未备份者

自从大学时期起,我的联想拯救者电脑就成为了我生活和学习的得力助手,里面存有许多至关重要的资料。但是昨日当我启动它时,电脑却意外卡顿。恢复正常后,发现部分数据竟然神秘地消失了,有什么方法能帮我恢复吗&#xff1…

快速上手Jemter分布式压测实战和代码详细解析

🚀 作者 :“二当家-小D” 🚀 博主简介:⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人,8年开发架构经验,精通java,擅长分布式高并发架构,自动化压力测试,微服务容器化k…

2025考研数学武忠祥强化班视频,百度网盘课程+讲义PDF更新

25考研的小伙伴们现在应该基础都学习的差不多了吧! 是时候进入强化阶段的学习啦。 2025考研数学强化班全程网盘:https://pan.baidu.com/s/1Z029fuCLkyyhIRFqd5QKcg 提取码:p3ue 晚上好,聊聊17堂课的看课攻略。 今年的17堂课还…