Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地

  • 前言
  • 1、软件包下载
    • 1.1 单解释器,系统Python环境下载软件包
    • 1.2 多解释器,PyCharm给指定解释器安装软件包
  • 2、调用人脸脱敏API批量处理图片并将结果下载到本地代码

前言

1、通过阿里云提供的人脸人体-人脸信息脱敏功能实现了对目录中大量照片自动人脸打码并下载保存到指定目录。
2、若import不全请自行添加所需要的库。
3、本代码仅适合代码与需要处理的图片在本地的情况。
4、阿里云人脸打码接口只支持图片小于3m并且尺寸小于5000*5000的图片输入,如果需要处理大图,可以参考我的另一篇配套文章 基于Python的图片批量切割与合并(保持原像素不变,不会出现像素大小不匹配、填充黑边的问题)

本文提供的代码可直接复制,方法已经封装好了。

代码中需要自己填写四个地方:阿里云key、阿里云密钥、读取图片的文件夹路径、保存处理后的文件夹路径。

1、软件包下载

1.1 单解释器,系统Python环境下载软件包

#终端
pip3 install alibabacloud_facebody20191230

1.2 多解释器,PyCharm给指定解释器安装软件包

在首选项中找到Python解释器设置:

点击解释器下的加号,搜索alibabacloud-facebody,根据人脸脱敏相关文档,选择20191230版本。

2、调用人脸脱敏API批量处理图片并将结果下载到本地代码

import os
import time
import requests
from alibabacloud_facebody20191230.models import BlurFaceRequest, BlurFaceAdvanceRequest
from alibabacloud_facebody20191230.client import Client
from alibabacloud_tea_openapi.models import Config
from alibabacloud_oss_util.models import RuntimeOptions
config = Config(# 2、"YOUR_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_SECRET" 的生成请参考https://help.aliyun.com/document_detail/175144.html# 如果您是用的子账号AccessKey,还需要为子账号授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html# 您的 AccessKey IDaccess_key_id='你的key',# 您的 AccessKey Secretaccess_key_secret='你的key对应的密钥',# 3、访问的域名。注意:这个地方需要求改为相应类目的域名,当前对应类目:人脸人体#参考:https://help.aliyun.com/document_detail/143103.htmlendpoint='facebody.cn-shanghai.aliyuncs.com',# 访问的域名对应的region,无需修改region_id='cn-shanghai'
)# 加载本机图片列表
def round_read_file(file_path):image_name_list = []for file_name in os.listdir(file_path):# 排除MacOS目录自动生成的.DS_Store文件if file_name != '.DS_Store':print("加载图片:"+str(file_path)+str(file_name))image_name_list.append(str(file_name))print("总计加载图片数量" + str(len(image_name_list)))# 返回图片列表return image_name_list# 调用阿里接口
def ali(org_temp_file_path, org_temp_file_name):runtime_option = RuntimeOptions()with open(org_temp_file_path+org_temp_file_name, 'rb') as f:# 4、初始化Request,request = BlurFaceAdvanceRequest()request.image_urlobject = ftry:# 初始化Clientclient = Client(config)print("初始化Client")# 5、调用api.response = client.blur_face_advance(request, runtime_option)print("调用API")# 获取整体结果# print(response.body)# 获取单个字段,这里只是一个例子,具体能力下的字段需要看具体能力的文档print(response.body.data.image_url)# 返回处理完成的图片下载链接return response.body.data.image_urlexcept Exception as error:print("!!!!error!!!!!")# 获取整体报错信息print(error)# 获取单个字段print(error.code)# tips: 可通过error.__dict__查看属性名称
# 主函数
if __name__ == '__main__':# 两个重要目录路径main_from_TEMP_path = '填写需要批量处理的图片所在的目录/'main_fin_TEMP_path = '填写处理完成的图片保存的目录/'# 加载图片main_org_tmp_list = round_read_file(main_from_TEMP_path)# 从图片列表中循环for tmp_file_name in main_org_tmp_list:# 睡一秒,防止请求太快被阿里云拒绝time.sleep(1)# 获得处理后的图像地址tmp_url = ali(main_from_TEMP_path, tmp_file_name)# 下载r = requests.get(tmp_url)with open(main_fin_TEMP_path+tmp_file_name, "wb") as f:f.write(r.content)print("全部完成")

Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地相关推荐

  1. python 阿里云短信群发推送

    python 阿里云短信群发推送 本篇文章是使用Python的Web框架Django提供发送短信接口供前端调用,Python版本2.7 阿里云入驻.申请短信服务.创建应用和模板等步骤请参考:阿里云短信 ...

  2. python 阿里云平台合成语音(TTS)

    1. 安装阿里云python SDK core:  pip3 install aliyun-python-sdk-core-v3 2. 安装ali_speech python SDK, 从github ...

  3. 阿里云视觉AI训练营_Class5_实践课:人脸动漫化搭建

    Class5 实践课:人脸动漫化搭建 学习目标: 10分钟开发一款"一键二次元化"AI小程序 学习内容: 5.1 10分钟开发一款"一键二次元化"AI小程序 注 ...

  4. 机器学习训练营Python 阿里云天池 task4学习笔记

    一.学习知识点概要 本次主要通过阿里云天池的赛题[Python入门系列]用Pandas揭秘美国选民的总统喜好 进行学习,主要学习内容有: 数据集获取 数据处理 数据探索和清洗 数据分析 数据可视化 二 ...

  5. python 阿里云短信服务接入流程

    阿里云短信服务接入流程 最近公司项目中的业务需求包括使用阿里云发送短信,所以写一篇博客和大家分享一下python使用sdk对接阿里云短息api的流程. 阿里云官方文档 链接 左侧导航栏中有很多部分,着 ...

  6. python 阿里云短信接口_阿里云短信PythonSDK的用法

    阿里云知识 阿里云短信PythonSDK的用法 阿里云短信PythonSDK的用法示例代码 # coding=utf-8 from jdcloud_sdk.core.credential import ...

  7. Python+阿里云DNS 搭建DDNS动态域名解析

    家用的动态公网IP在断电以及一段时间后会变化,现在家宽公网IP开网盘以及代理管得越来越严格,已经有检测到被封的案例 上海检测web封停 这让我这种挂种子的PT党(迫真)感到害怕 以前我把国外的免费域名 ...

  8. 利用Python+阿里云实现DDNS(动态域名解析)

    引子 我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应 ...

  9. 互联网用户账号信息真实性认证(阿里云身份信息实名认证API接口服务)

    2021年10月份国家互联网信息办公室公布<互联网用户账号名称信息管理规定(征求意见稿)>.内容包括,互联网用户账号服务平台应当按照"后台实名.前台自愿"的原则,要求互 ...

最新文章

  1. DL之DNN优化技术:采用三种激活函数(sigmoid、relu、tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化
  2. 八年级下册册计算机计划,粤教版(B版)信息技术八年级下册教学工作计划
  3. jpa onetoone_拥抱开源从表设计到 JPA 实现
  4. Win7中多账户设置自动登录的图文方法
  5. Base64编码简介及在java中的使用
  6. 4.9.5 通用注释
  7. python之列表相关操作
  8. python3安装教程
  9. dependency报错
  10. 怎么用python下载网易云_使用Python实现下载网易云音乐的高清MV
  11. ThinkPHP商城分类无限分类遍历数据
  12. 5. ATF(ARM Trusted firmware)启动---bl31
  13. 21点游戏A计算方法
  14. mysql bug frash_MySQL Flush导致的等待问题
  15. Android BootLoader及两种刷机模式fastboot和recovery
  16. MySQL Status意义
  17. 华为笔试时发现golang ACM模式输入的一个坑
  18. 如何恢复浏览器删除的书签呢
  19. Qt中 QPainter 刷新出现的问题
  20. 如何理解项目管理中的“无为”

热门文章

  1. note3+5.0+Android软件正在升级,波兰先行!三星为Note4推送Android 5.0升级
  2. 百度翻译 API 的申请 与 百度通用翻译 API 的接入
  3. mysql 中自增的起始值和步长_MySQL设置自增初始值和步长
  4. Floquet port激励及主从边界设置
  5. 【ICLR 2022】 10篇机器学习研究论文推荐
  6. REBOL 3.0 即將支援 Unicode
  7. k8s==安装仪表盘,用仪表盘部署nginx
  8. 平台搭建淘宝店铺怎么运营?
  9. 淘米网CEO汪海兵:不创业就拼不过富二代
  10. 基于浏览器的组态绘图工具