opencv人脸打马赛克

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()

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《王者荣耀》游戏攻略:角色排行榜——墨子

作为天蝎座黄金圣斗士,墨子以他的正义感和荣誉感闻名,一直站在正义的一方,忠于女神雅典娜。他的猩红毒针象征着审判和死亡,而他所施加的十五针“安达里士”更是生命终结的预兆。在冥王再次发动战争之际,墨子追随雅典娜…

中仕公考:广东省2024高校毕业生‘三支一扶‘开始报名

广东省2024高校毕业生三支一扶于今日4月22日正式开始报名,报名人员请于2024年4月22日9:00-4月26日17:00登录广东省高校毕业生“三支一扶”计划信息管理系统进行报名。

【星海出品】windows下的mysql安装

好久没有安装MYSQL了,因为最近要用一下 ,所以安装了一下。 突然迷茫了一下,决定写一个mysql安装的教程。给未来的自己。 STEP ONE 打开百度,搜索MYSQL,然后会看到MYSQL 官方的字样。 https://www.mysql.com/ 点进去&a…

WP-AutoPostPro 汉化版: WordPress自动采集发布插件

WP-AutoPostPro 是目前最好用的WordPress自动采集发布插件,最大的特点是可以采集来自于任何网站的内容并自动发布到你的WordPress站点。真正做到可以采集任何网站的内容并自动发布,采集过程完全自动进行无需人工干预,并提供内容过滤、HTML标签…

【Git教程】(十六)基于构建服务器的工作 — 概述及使用要求,执行过程及其实现,替代解决方案 ~

Git教程 基于构建服务器的工作 1️⃣ 概述2️⃣ 使用要求3️⃣ 执行过程及其实现3.1 预备构建服务器3.2 构建服务器上的 Git3.3 比对本地开发版本与最后成功构建版本之间的差异3.4 基于构建历史的排错 4️⃣ 替代解决方案4.1 使用标签4.2 将构建历史放在中央版本库中 许多项目…

7. Django 模型与数据库

第7章 模型与数据库 Django对各种数据库提供了很好的支持, 包括PostgreSQL, MySQL, SQLite和Oracle, 而且为这些数据库提供了统一的API方法, 这些API统称为ORM框架. 通过使用Django内置的ORM框架可以实现数据库连接和读写操作. 本章以SQLite数据库为例, 分别讲述Django的模型…

李沐动手学深度学习-优化和深度学习

优化和深度学习 对于深度学习问题,我们通常会先定义损失函数。一旦有了损失函数,就可以使用优化算法来尝试最小化损失。在优化中,损失函数通常被称为优化问题的目标函数。按照传统惯例,大多数优化算法都关注的是最小化。 优化的…

PC电脑微信等软件多开详细解决方案

一、新建“微信多开.bat” 文件 备注:如果很多人看不到文件后缀名,请参考如下解决方案 二、双击修改微信的安装路径 start C:\"Program Files (x86)"\Tencent\WeChat\WeChat.exe start C:\"Program Files (x86)"\Tencent\WeChat\We…

记录一个因mysql-connetcor的jar包版本导致Maxwell无论如何起不起来的问题

【背景说明】 我需要用Maxwell把我MySQL的数据同步到kafka上,我的zk,kafka都是正常的,但是启动Maxwell的时候,无论如何起不来,maxwell中的conf.properties的配置文件也没问题(检查了好几遍) 【…

《Spring》系列文章目录

Spring Framework是一个为基于Java的现代企业应用程序提供全面编程和配置模型的开源框架。它集成了控制反转(IOC)、依赖注入(DI)和面向切面编程(AOP)等容器技术。Spring框架的设计理念是面向Bean编程&#…

new[]与delete[]

(要理解之前关于new,delete的一些概念,看​​​​​​ CSDN) 引子: 相比new,new[]不仅仅是个数的增加,还有int大小记录空间的创建, 下图中错误的用模拟多个new来替代new[],释放步…

vue3 watch监听

Watch在vue3中是一个组合API,可以多次调用,它有三个参数: Params1:被监听的变量,可以是一个数组,存放多个变量。 Params2:回调函数,监听的数据有变化时调用,回调函数中有…

Spring核心总结

要学什么? (1)核心层 * Core Container:核心容器,这个模块是Spring最核心的模块,其他的都需要依赖该模块 (2)AOP层 * AOP:面向切面编程,它依赖核心层容器,目的是在不改变原有代码的前提下对其进行功能增强 * Aspects:…

Qt分享一个壁纸页面布局的方式

分享一个壁纸软件的设计思路 在QScrollArea中添加一个总体的垂直布局,创建若干个水平布局,使用垂直布局组合,具体如图。在添加QAbstractButton时设置button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)属性,它会…

关于agi中的Function Calling深入解析

接口(Interface) 两种常见接口: 1、人机交互接口,User Interface,简称UI 2、应用程序编程接口,Application Programming Interface,简称API 接口能【通】的关键,是两边都要遵守约定。 人要按照UI的设计来操作。UI的设计要符合…

第一届 “帕鲁杯“ writeup

文章目录 MiscMisc-签到江FM 145.8ez_misc为什么我的新猫猫吃不饱 Crypto玛卡巴卡有什么坏心思呢 webWeb-签到 应急响应1.找到JumpServer堡垒机中flag标签的值。2.提交攻击者第一次登录时间。3.提交攻击者源IP。4.提交攻者使用的cve编号。5.提交攻击者留在Web服务器上的恶意程序…

更换本地yum源的步骤

更换本地yum源的流程与命令:

一山不容二虎?雷池WAF和宝塔面板共存部署

互联网上的攻击和扫描流量非常多,为了保证网站安全,在网站之前新增WAF防护是必要的。之前有了解过宝塔云WAF,但需要独立的一台服务器来部署,架构不够灵活,对于个人用户来说成本太高了。后来在微信公众号上看到简单好用…

虚良SEO怎么有效的对百度蜘蛛权重优化?

人们交换链接通常首先要问的是你BR值是多少?国内搜索引擎来说以百度马首是瞻,无论seo还是竞价都看重的是百度,那么针对百度权重的优化就特别重要了。其实,百度权重是民间的一种说法,百度官方并没有认同这个数值&#x…

三. TensorRT基础入门-TensorRT简介

目录 前言0. 简述1. 什么是TensorRT2. TensorRT的工作流介绍3. TensorRT的一些限制总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第三章—TensorRT 基础入门&#xf…