opencv-python(三)

server/2025/2/12 8:31:12/

马赛克

python">     face = img[162:428,297:527]  # 人脸坐标区域face = face[::10,::10]  # 每10个中取出一个像素,马赛克face = np.repeat(face, 10, axis=0) # 行方向重复10次face = np.repeat(face, 10, axis=1) # 列方向重复10次img[162:428,297:527] = face[:266,:230] # 填充,保持尺寸一致cv2.imshow('bao', img)cv2.waitKey(0)cv2.destroyAllWindows()

人脸识别

人脸特征参数下载地址

opencv/data/haarcascades at 4.x · opencv/opencv · GitHub

python">    # 人脸特征详细说明,1万多行,计算机根据这些特征,进行人脸检测# 符合其中一部分说明,算作人脸# 级联分类器、检测器face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml')faces = face_detector.detectMultiScale(img) # 坐标x,y,w,hfor x,y,w,h in faces:cv2.rectangle(img,pt1=(x,y),pt2=(x+w,y+h), color=[0,0,255],thickness=2) # 矩形cv2.imshow('face', img)cv2.waitKey(0)cv2.destroyAllWindows()

多人脸

 调整参数

python">    gray = cv2.cvtColor(img, code=cv2.COLOR_BGR2GRAY)face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml')faces = face_detector.detectMultiScale(gray,scaleFactor=1.2, # 缩放minNeighbors=3) # 坐标x,y,w,hfor x,y,w,h in faces:cv2.rectangle(img,pt1=(x,y),pt2=(x+w,y+h), color=[0,0,255],thickness=2) # 矩形cv2.imshow('face', img)cv2.waitKey(0)cv2.destroyAllWindows()

python">    gray = cv2.cvtColor(img, code=cv2.COLOR_BGR2GRAY)face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml')faces = face_detector.detectMultiScale(gray,scaleFactor=1.2, # 缩放minNeighbors=3, minSize=(40,40)) # 设置检测框大小,过滤太小的框for x,y,w,h in faces:# cv2.rectangle(img,pt1=(x,y),pt2=(x+w,y+h), color=[0,0,255],thickness=2) # 矩形cv2.circle(img, center=(x+w//2, y+h//2),radius=w//2,color=[0, 255, 0]) # 圆形cv2.imshow('face', img)cv2.waitKey(0)cv2.destroyAllWindows()

人脸贴纸

python">    gray = cv2.cvtColor(img, code=cv2.COLOR_BGR2GRAY)face_detector = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml')faces = face_detector.detectMultiScale(gray) # 设置检测框大小,过滤太小的框star = cv2.imread('./star.png')for x,y,w,h in faces:star_s = cv2.resize(star, (w//4, h//4))w1 = w//4h1 = h//4for i in range(h1):for j in range(w1):  # 遍历图片数据if not (star_s[i,j] > 200).all():  # 红色img[i+y,j+x+3*w//8] = star_s[i,j]cv2.imshow('face', img)cv2.waitKey(0)cv2.destroyAllWindows()


http://www.ppmy.cn/server/46674.html

相关文章

git基础 -- 判断 Git 输入名称是分支名还是标签名

判断 Git 输入名称是分支名还是标签名 背景 在使用 Git 进行版本控制时,有时需要判断一个给定的名称是分支名还是标签名。分支和标签在 Git 中是两种不同的引用类型,但它们的名称空间是独立的,因此同一个名称可以同时存在于分支和标签中。为…

WIN10环境下xposed环境搭建

禁止拿来干坏事,仅做学习为目的 环境需求 1.夜神模拟器7.1 2.Android stdio 2022.3.1 3. Adb环境配置 具体实现 1.安装xposed 打开可一键安装,重启 2.连接虚拟机 adb connect 127.0.0.1:620013.打开as,进入project 4.在lib下添加准备好的jar包 …

ssm音乐网站-计算机毕业设计源码87184

摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采SSM技术和mysql数据库来完成对系统的设计。整个开发过程首…

Gradle的学习

1.1 Gradle的优势 一款最新的,功能最强大的构建工具,用它逼格更高 使用Groovy或Kotlin代替XML,使用程序代替传统的XML配置,项目构建更灵活 丰富的第三方插件,让你随心所欲使用 完善Android,Java开发技术体系 1.2 …

安卓Launcher启动详解

目录 一、概述1.1 核心源码1.2 主要代码作用 二、源码分析2.1 第一阶段SystemServer 启动HomeActivity的调用阶段2.2 [RootActivityContainer.java] startHomeOnDisplay()2.2.1 [ActivityTaskManagerService.java] getHomeIntent()2.2.2 [RootActivityContainer.java] resolveH…

并查集单HashMap实现

import java.util.Arrays; import java.util.Deque; import java.util.HashMap; import java.util.LinkedList; import java.util.Map;public class UnionFind<T> {/*** 如果sets[i] < 0&#xff0c;那么第i个元素为根元素&#xff0c;且sets[i]的绝对值为集合大小* 否…

单点登录模式

1. 什么是单点登录 比如有一家公司&#xff0c;他业务线很多&#xff0c;有小游戏&#xff0c;有商城&#xff0c;有小程序&#xff0c;导致有很多系统&#xff0c;他不可能为每一个系统做一套用户管理&#xff0c;因为这些系统都是属于公司的&#xff0c;用户是相通的&#x…

联邦学习【01】杨强第三章横向联邦学习复现

环境&#xff1a;有无gpu均可 anaconda环境&#xff1a;conda install pytorch1.13.1 torchvision0.14.1 torchaudio0.13.1 pytorch-cuda11.6 -c pytorch -c nvidia 具体安装命令结合自己的gpu的cuda版本 项目代码放在 https://gitee.com/ihan1001gitee https://github.com/ih…