使用Python CV2自动识别人脸并融合至新图片

news2024/11/17 5:32:16

需求说明

最近孩子很迷奥特曼,想尝试拿他的照片跟奥特曼合并下做个帅酷变身。我想一般的PS跟现在流行的AI工具应该都可以实现,但是咱是程序员可以尝试用Python来做一下嘛。

实现思路

Python图片处理离不开CV2库,这个实现思路很清晰。先根据孩子照片识别出人脸,然后进行人脸切割。为了保证拟合比较好,再将切割后的人脸进行尺寸固定化,然后两张图片贴合就行了。

环境准备

Python的windows环境加CV2的库安装。
我一开始尝试在windows的WSL上操作,无奈图片操作通过WSL有各种报错所以还是转回Windows。

SHOW ME THE CODE

import cv2

usrFilePath = "test.jpg"
atmFilePath = "atm2.jpg"
img = cv2.imread(usrFilePath)
atmimg = cv2.imread(atmFilePath)
fixsize = 128 # declare fix size
print(atmimg.shape)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # convert to grey
print("read file success")
# laod opencv schema
classifier = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
color = (0, 255, 0)
# begin to identify face
faceRects = classifier.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=3, minSize=(32, 32))
print(faceRects)
if len(faceRects):  # get faces if above zero
    for faceRect in faceRects:  # loop each face
        x, y, w, h = faceRect
        cv2.rectangle(img, (x, y), (x + h, y + w), color, 1)
        cropped = img[y:y+w, x:x+h] # cropped to get face
        print("get avatar success")
         # shrink face to fix size
        shrink = cv2.resize(cropped, (fixsize,fixsize), interpolation = cv2.INTER_AREA)
        print("saved avatar success")
        # decalre target position in new picture
        nx = 130
        ny = 105
        atmimg[ny:ny+fixsize, nx:nx+fixsize] = shrink
        cv2.imshow("result", atmimg)
        cv2.imwrite("newpic.jpg", atmimg)
        cv2.waitKey(0)
        cv2.destroyAllWindows()

融合后的效果
融合后效果

待优化

可以看到图片是贴进去了,但是拟合效果不太好,边界线很严重。后面可以研究下如何让边界更柔和。

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

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

相关文章

【自学开发之旅】Flask-restful-Jinjia页面编写template-回顾(五)

restful是web编程里重要的概念 – 一种接口规范也是一种接口设计风格 设计接口: 要考虑:数据返回、接收数据的方式、url、方法 统一风格 rest–表现层状态转移 web–每一类数据–资源 资源通过http的动作来实现状态转移 GET、PUT、POST、DELETE path…

Tomcat修改配置文件

1.Tomcat启动乱码问题 1.1conf目录 说明:找到conf目录下logging.properties文件 1.2打开logging.properties文件 说明:将UTF-8修改成GBK 1.3.效果 2.端口冲突问题 2.1 conf目录 2.2打开 server.xml文件 2.3.修改端口 说明:port指的就是端…

自动化测试框架实战详解

前言 之前文章跟大家分享了一下自己在接口自动化测试中进行测试准备的一些相关知识点,接下来本篇文章详细分享一下接口自动化框架设计的思路总结,希望能对初次探索接口自动化测试的小伙伴们有一些思路上的帮助。 小编是以pythonrequestsunittestHTMLTes…

淘礼金红包检测,规避订单返款/转账资损问题的技术实现方案

先说业务场景:很多电商人在订单转账或返款时,可能会因订单使用了如首单礼金/新品礼金/优惠劵或其他红包类型,导致资金损失问题。如下图所示: 再说解决方案:具体规避这类订单红包的资损(返款/转账多返&#…

mount报错NTFS signature is missing

给nvidia AGX orin的开发板加了一个内存条 sudo fdisk -l sudo mount /dev/nvme0n1 /mnt/pan1 #将/dev/nvme0n1挂载到/mnt/pan1 下结果挂载时报错如下: NTFS signature is missing解决方法,给创建一个ntfs即可: sudo mkfs.ntfs /dev/nvme0n…

三勾商城(java+vue3)微信小程序商城+SAAS+前后端源码

项目介绍 本系统功能包括: 前台展示后台管理SAAS管理端,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理&…

芯片设计流程

VLSI 代表超大规模集成(Very Large Scale Integration),这是一种通过将数百万个晶体管集成到单个芯片中来创建集成电路 (IC) 的技术。超大规模集成电路技术可以生产出紧凑、功能强大且低成本的微处理器、存储芯片、数字信号处理器和其他先进电…

DC系列靶机4通关教程

DC-4 信息收集 扫描主机 arp-scan -l端口扫描 nmap -p- -A 192.168.16.165发现ssh端口和80端口都打开着呢 目录扫描 dirsearch -u http://192.168.16.165dirb hhtp://192.168.16.165登录web网页 发现没有可用信息,发现页面提示admin 爆破 用户密码爆破 使用…

什么是AI数字员工?它能帮我们做什么?

在今年360智脑大模型应用发布会上,360集团创始人周鸿祎再度提到了AI数字员工,他认为AI数字员工将为企业带来一场工作效率革命。在当今数字化和自动化的时代,人工智能(AI)正在逐渐地融入到各行业,而AI数字员…

《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现

系列文章导航 《优化接口设计的思路》系列:第一篇—接口参数的一些弯弯绕绕 《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现 前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术…

财富潮涌:银行发展绿色经济创新路径

在《玩转金融新“绿”潮,银行纷纷亮大招》内容中,我们带大家了解了商业银行有关绿色信贷产品、绿色债券产品及绿色投资的内容。今天,我们将继续带大家了解商业银行绿色金融实践路径中关于绿色财富、绿色服务和绿色运营的分析。 在绿色金融实…

数字中国背景下,企业数字化转型需要“强IT”

随着科技的快速发展和全球商业环境的不断变化,中国企业对灵活性、创新性、全球化和效率的需求是迫切的,进行数字化转型来支撑企业的业务变革、组织优化已是业界共识。如何根据企业的实际情况进行数字化转型对企业管理层,特别是CIO提出了新的挑…

解决 Axios 跨域问题,轻松实现接口调用

跨域是指访问另外一个域的资源,由于浏览器的同源策略,默认情况下使用 XMLHttpRequest 和 Fetch 请求时是不允许跨域的。跨域的根本原因是浏览器的同源策略,这是由浏览器对 JavaScript 施加的安全限制。 Axios 跨域常见报错 跨域请求被阻止 (…

电子凭证试点深化后,企业如何应对?百望云提供电子凭证一体化解决方案!

今年5月,财政部、税务总局、人民银行、国务院国资委、国家档案局、标准委、国电联办、民航局、国铁集团九单位组织召开电子凭证会计标准深化试点启动会。 电子会计凭证的格式非常多样化,电子会计凭证的处理一直是企业的难点。此次试点工作虽然对企业的财…

SSL证书为什么要选付费?

SSL证书已经越来越多的使用在网站,小程序和APP上,对于保障网络安全,加密数据信息有至关重要的作用。随着SSL证书市场的发展,各种类型的证书产品也在不断丰富,用户在选择SSL证书时,除了可以购买付费证书&…

2023年8月京东白酒行业数据分析(京东数据开放平台)

中秋、国庆“双节”即将到来之际,白酒市场中越来越多的促销手段浮现,除了线下门店,线上电商也推出“百款直降”“限量预约抢购”“百亿补贴”等活动,如习酒消费满额享华为手机,五粮液指定产品满219减120元,…

Spring系列文章:Bean的作⽤域

1、singleton 默认情况下&#xff0c;Spring的IoC容器创建的Bean对象是单例的 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSche…

会声会影2023免费版电脑视频剪辑软件

会声会影视频剪辑软件对硬件配置要求不高&#xff0c;功能强大且涵盖面广&#xff0c;能为用户节省出大量的硬件成本与学习时间成本。大多数用户仅需一周左右的时间就可以掌握会声会影的基本功能模块&#xff0c;会声会影视频剪辑软件&#xff0c;已经拥有了超过20年的品牌历史…

微软hotmail邮箱的存储空间查询

我最近注册了hotmail邮箱&#xff0c;查询到的存储空间如下&#xff1a; 我们关注的存储应该是下面的电子邮箱存储&#xff0c;15 GB&#xff0c;还是比较大的。 而上面的存储是Microsoft账户存储。 我打算用hotmail邮箱以邮件的形式存储一些重要资料。

2024年浙江财经大学MBA招生简章发布:有哪些看点?

2024年研究生招生简章近期正在陆续发布&#xff0c;作为立足浙江十余年的专业机构&#xff0c;杭州达立易考教育带领考生们来认真分析一下各MBA项目的招生政策以及趋势&#xff0c;以方面在接下来的全国研究生考试网报期间顺利选到适合自己的项目&#xff01;本期围绕浙江财经大…