opencv-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

    # 人脸特征详细说明,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()

多人脸

 调整参数

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

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

人脸贴纸

    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.mzph.cn/bicheng/21349.shtml

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

相关文章

计算机科学与技术和软件工程专业有什么区别?应该怎么选?

计算机科学与技术和软件工程都是就业前景较好的计算机类专业,二者密切相关但侧重点不同,同学们应该如何选择呢? 一、学习内容 1.学科定位 ● 计算机科学与技术 侧重于计算机科学的理论研究和基础技术,包括算法、数据结构、人工…

lnmp平台部署web应用,安装Discuz社区平台详细文章——更新中

Nginx网站service 详细相关介绍-特点-http状态码-配置文件、将nginx添加永久环境变量 访问网站404是什么?_nginx 稳定版-CSDN博客文章浏览阅读1.2k次,点赞33次,收藏24次。开源Web服务器软件。_nginx 稳定版https://blog.csdn.net/2301_771619…

数据结构--数组(详细分析)

目录 🍉引言 🍉数组 🍈数组的特性 🍈数组的优缺点 🍍优点: 🍍缺点: 🍈数组的声明与初始化 🍈数组的常见操作 🍍 插入操作 🍍…

Touch Camera PRO 2024 Easy Mobile Desktop Camera Controller(触控相机专业版)

一个真正易于使用的移动+台式摄像机控制器,具有视角切换功能! Touch Camera PRO 是一款非常易于使用的移动+桌面相机控制器,具有透视切换功能!它在 Home Designer、Runtime Level Editor 和 Floor Map Designer 等其他插件中使用! 在桌面和移动设备上工作! 一个干…

WIireShark使用教程

文章目录 目录 文章目录 一.入门抓包示例 一.入门抓包示例 先介绍一下如何使用wireshark抓取相应网卡的流量,让读者可以先上手操作感受一下抓包的具体过程。 1.打开wireshark的主界面如下 2.选择需要抓包的网卡,鼠标左键双击,即可抓取该网…

Mysql常见问题总结

1、MySQL初始化报错 mysqld --initialize --usermysql --console 2024-06-02T15:52:22.645557Z 0 [System] [MY-013169] [Server] D:\installSoft\mysql-8.0.21-winx64\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 8980 2024-06-02T15:52:2…

02-2.3.2_1 单链表的插入和删除

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。 此外,《程序员必备技能》专栏和《程序员必备工具》专栏(该专栏暂未开设)日后会逐步更新, 插入 按位序插入 (1)带头结点 L…

量子加速超级计算简介

本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块:QPU 和量子位三、量子计算硬件和算法四、…

代码随想录算法训练营第三十七 | ● 738.单调递增的数字 ● 968.监控二叉树

738.单调递增的数字 讲解链接:https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html class Solution { public:int monotoneIncreasingDigits(int n) {//整数转字符串,变为字符串访问比诸位取出数字要…

项目集成过程中的makefile记录

项目集成过程中的makefile记录 文章目录 项目集成过程中的makefile记录1.基础概念注释打印赋值方式常用变量$ 伪目标函数wildcard 多目录、文件操作 2.思路梳理**需求分析**目录结构 3.可行示例 持续更新中1.基础概念 注释 # 示例: # 项目名称打印 echo "H…

控制台相关

输入输出 输出 Console.WriteLine("123123");//光标空行 Console.Write("123123123123");//不空行输入 string str Console.ReadLine(); //如果在ReadKey(true)不会把输入的内容显示在控制台上 char c Console.ReadKey(true).KeyChar; Console.WriteL…

ACM实训第25天

第四套 第一道&#xff08;修改&#xff09; #include<stdio.h> #include<string.h> int cnt[10]; void count_digits(int n,int* cnt){for(int i1;i<n;i){int numi;while(num){cnt[num%10];num/10;}} } int main(){int t;scanf("%d\n",&t);whi…

力扣刷题--2553. 分割数组中数字的数位【简单】

题目描述 给你一个正整数数组 nums &#xff0c;请你返回一个数组 answer &#xff0c;你需要将 nums 中每个整数进行数位分割后&#xff0c;按照 nums 中出现的 相同顺序 放入答案数组中。 对一个整数进行数位分割&#xff0c;指的是将整数各个数位按原本出现的顺序排列成数…

名为投资实为借贷,如何处理

投资近百万参与号称“高回报、零风险”的内部商铺投资项目&#xff0c;与公司签订商铺投资合同及租赁合同。本想投资商铺收取租金&#xff0c;没想到不仅租金没拿到手&#xff0c;连本金都要不回来。 2019年底&#xff0c;原告何某&#xff08;乙方&#xff09;与被告祁东县某…

QSettings注册表 json双模式配置文件

qt QSettings 类可用来保存软件设置&#xff0c;json文件也是保存软件设置的很好的方式&#xff0e; 这里结合json文件和QSettings注册表来保存软件设置&#xff0e;区别在于json文件在软件目录&#xff0c;每次更新时会被覆盖&#xff0c;注册表中设置持久有效&#xff0c;…

14.FreeRTOS 消息缓存 Message Buffer

FreeRTOS 消息缓存&#xff08;Message Buffer&#xff09;的使用 介绍 在实时操作系统&#xff08;RTOS&#xff09;中&#xff0c;任务之间的通信是一个非常重要的方面。FreeRTOS 提供了多种机制来实现任务间通信&#xff0c;其中之一就是消息缓存&#xff08;Message Buffe…

【IC验证】一文速通多通道数据整型器(MCDF)

目录 01 README 02 MCDF设计结构 2.1 功能描述 2.2 设计结构 2.3 接口与时序 2.3.1 系统信号接口 2.3.2 通道从端接口 2.3.3 整形器接口 2.3.4 控制寄存器接口 2.3.4.1 接口时序图 2.3.4.2 各数据位信息 03 验证框图 3.1 reg_pkg 3.1.1 reg_trans 3.1.2 reg_driv…

【一刷《剑指Offer》】面试题 27:二叉搜索树与双向链表

牛客对应题目链接&#xff1a;二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com) 力扣对应题目链接&#xff1a;LCR 155. 将二叉搜索树转化为排序的双向链表 - 力扣&#xff08;LeetCode&#xff09; 一、《剑指 Offer》对应内容 二、分析题目 上面力扣上的这道题目和牛客…

AGM DAP-LINK 离线烧录报错信息分析

DAP-LINK 支持离线烧录。 即&#xff1a;先把要烧录的bin 烧录到DAP-LINK 中&#xff1b;然后DAP-LINK 可以脱离PC&#xff0c;上电后通过按键对目标板进行烧录。 CMSIS-DAP模式 跳线JGND断开&#xff0c;状态LED D4快闪&#xff0c;D3常亮&#xff08;串口状态&#xff09;。…

deepin开发web前端:探索、挑战与无限可能

deepin开发web前端&#xff1a;探索、挑战与无限可能 在数字化浪潮汹涌的时代&#xff0c;Web前端作为连接用户与数字世界的桥梁&#xff0c;其重要性日益凸显。而deepin作为一款优秀的开源操作系统&#xff0c;为Web前端开发者提供了广阔的舞台。本文将围绕deepin开发Web前端…