基于肤色模型(YCbCr模型)的人面定位统计算法,Matlab实现

news2024/11/23 15:19:49

        博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188

        个人主页:Matlab_ImagePro-CSDN博客

        原则:代码均由本人编写完成,非中介,提供有偿Matlab算法代码编程服务,不从事不违反涉及学术原则的事。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        本次分享的是基于肤色模型(YCbCr模型)的人面定位统计算法,用matlab实现。(有疑问或者想交流细节的QQ:3249726188

        一、简述一下这次基于肤色模型(YCbCr模型)的人面定位统计算法的背景

         博主最近被各位同学咨询最多的就是人脸识别和车牌识别相关算法,前期介绍了最为经典的PCA人脸识别算法(基于PCA(主成分分析)的人面识别,Matlab实现-CSDN博客)、基于灰度直方图特征的人面识别算法(基于灰度直方图特征的人面识别算法,Matlab实现-CSDN博客)、基于LBP和KNN的人面表情识别算法(基于LBP和KNN的人面表情识别,Matlab实现-CSDN博客),这次介绍另一个类似方向的算法,基于肤色模型(YCbCr模型)的人面定位统计算法

        二、算法模型原理介绍

        首先介绍一下什么是肤色模型,也就是今天的主角YCbCr模型

        YCbCr模型,也称为YUV模型,是一种广泛用于数字视频和数字图像中的颜色模型。在这种模型中,Y代表亮度分量,Cb和Cr共同描述图像的色调(色差),其中Cb和Cr分别是蓝色和红色色度分量相对于参考值的坐标。YCbCr模型中,亮度信息用单个分量Y表示,彩色信息存储为两个色差分量Cb和Cr。Cb是蓝色分量和参考值的差,Cr是红色分量和参考值的差。这种模型广泛应用于数字视频领域,特别是在不同的彩色电视制式中,如PAL和SECAM。YCbCr模型有多种取样格式,包括4:4:4、4:2:2、4:1:1和4:2:0。其中,4:4:4采样方式下,每个Y对应一组UV分量,而4:2:2和4:2:0采样方式下,每两个或四个Y共用一组UV分量。此外,YCbCr模型还与一些特定的颜色空间转换公式相关联,例如在数字视频领域常用的公式为:Y = 0.299R + 0.587G + 0.114B,Cb = -0.172R - 0.339G + 0.511B + 128,Cr = 0.511R - 0.428G - 0.083B + 128。这些转换公式用于将RGB颜色空间转换为YCbCr,以便于在不同的视频和显示器标准之间进行转换和传输。

        这次分享的人脸定位统计算法,就是基于图像转换为YCbCr模型后,通过使用Cr分量进行初步分割人面,然后实现定位人面和统计的功能。

        三、人脸定位统计算法流程

        1、读取图像,并将RGB转换为YCbCr空间

        2、提取Cr空间,根据参数(Cr空间140-160之间为分割目标)对人面进行初步分割,得到初步二值图

        3、对步骤二的图进行中值滤波去噪处理

        4、对去噪后的图像进行填充、腐蚀、去噪等形态学处理,并去除长宽比不符合尺寸的噪声,得到最终分割的二值图。

        5、根据步骤四的分割二值图,统计定位到的人脸数量。

        6、根据形态学对最终二值图进行定位标记。

        四、Matlab实现效果

        原图:

        

        颜色模型分割:

        滤波去噪:

        形态学处理:

        再次去噪:

        去除比例不符合的杂质噪声:

        定位统计:

        打包到GUI效果:

        

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

专注、专一于Matlab图像处理学习、交流、代做

QQ:3249726188

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

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

相关文章

【渗透测试】redis漏洞利用

redis安装及配置 wget http://download.redis.io/releases/redis-3.2.0.tar.gz tar xzf redis-3.2.0.tar.gz cd redis-3.2.0 make cp /root/redis-6.2.6/redis.conf /usr/local/redis/bin/ cd /usr/local/redis/bin/ vi redis.conf #修改内容如下: #protected-mode …

第十三届蓝桥杯(C/C++ 大学B组)

目录 试题 A: 九进制转十进制 试题 B: 顺子日期 试题 C: 刷题统计 试题 D: 修剪灌木 试题 E: X 进制减法 试题 F: 统计子矩阵 试题 G: 积木画 试题 H: 扫雷 试题 I: 李白打酒加强版 试题 J: 砍竹子 试题 A: 九进制转十进制 九进制正整数 ( 2022 )转换成十进制等于多…

【Vite+Ts】自动按需引入Element-Plus

安装插件 cnpm i -D unplugin-vue-components unplugin-auto-import unplugin-element-plus修改vite.config.ts // vite.config.ts import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; impor…

字符串函数和内存函数的模拟实现

目录 前言 1. 字符串操作 1.1 strncpy 1.1.1 讲解 1.1.1 模拟实现 1.2 strncat 1.2.1 讲解 1.2.2 模拟实现 2. 字符串检验 2.1 strlen 2.1.1 讲解 2.1.2 模拟实现 2.2 strstr 2.2.1 讲解 2.2.2 模拟实现 3. 字符数组操作 3.1 memcpy 3.1.1 讲解 3.1.2 模拟实…

《操作系统实践-基于Linux应用与内核编程》第10章--实验 Qt聊天程序

前言: 内容参考《操作系统实践-基于Linux应用与内核编程》一书的示例代码和教材内容,所做的读书笔记。本文记录再这里按照书中示例做一遍代码编程实践加深对操作系统的理解。 引用: 《操作系统实践-基于Linux应用与内核编程》 作者:房胜、李旭健、黄…

15届蓝桥杯第三期模拟赛所有题目解析

文章目录 🧡🧡t1_奇数次数🧡🧡思路代码 🧡🧡t2_台阶方案🧡🧡思路代码 🧡🧡t3_约数个数🧡🧡思路代码 🧡🧡t4_最…

特殊文本文件、日志技术

特殊文件 为什么要用这些特殊文件? 存储多个用户的:用户名、密码 特殊文件:Properties属性文件 特点: 都只能是键值对键不能重复文件后缀一般是.properties结尾的 作用:存储一些有关系的键值对数据 Properties 是一个Map集合(键…

Ubuntu Argoverse API安装

1. 创建并进入conda环境 conda create -n Argoverse python3.8 conda activate Argoverse2. 拉取argoverse-api源码 git clone https://github.com/argoai/argoverse-api.git3. 下载高精地图 Download hd_maps.tar.gz from Argoverse 4. 安装api cd argoverse-api pip in…

STM32 Simulink 自动代码生成电机控制——霍尔有感六步方波仿真到开发板运行

目录 前言 方波控制理论 仿真 代码集成到开发板运行 总结 前言 回想以前在学校手写代码实现方波控制,花了不少时间。现在各大MCU厂家都有自己的有感或者无感方波控制的方案。这次尝试用Simulink来完成应用层算法的仿真再到代码生成开发板运行的完整流程。 方波…

达梦数据库管理

一、表空间管理介绍 在 DM 数据库中,表空间由一个或者多个数据文件组成。 DM 数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。 DM数据库中的表空间可以分为普通表空间和混合表空间。普通表空间不能存储HUGE表&…

《IEEE Transactions on Robotics》发表!北京大学研究团队推出具有多种运动模态的软体两栖机器人

两栖机器人以其在复杂水陆混合环境中的卓越适应性而脱颖而出,成为非结构化场景下信息监测、资源勘探和灾难救援等多元化任务的理想选择。凭借能够在水生和陆生环境中自如切换的优势,两栖机器人在如上任务执行过程中展现出对多变环境的惊人适应能力。 在…

【Godot4.2】颜色完全使用手册

概述 本篇简单汇总Godot中的颜色的构造和使用,内容包括了: RGB、RGBA,HSV以及HTML16进制颜色值、颜色常量等形式构造颜色颜色的运算以及取反、插值用类型化数组、紧缩数组或PNG图片形式存储多个颜色 构造颜色 因为颜色是一种视觉元素&…

配置Web运行环境与第一个网页

安装与配置Web环境: 如下使用了VSC作为web的运行环境。 下面是VSC的官网:Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/download 进入官网后按照自己的系统下载,我下载的是Windows. 下载完之后双击打开。 接下来就是安装&…

探讨TCP的可靠性以及三次握手的奥秘

🌟 欢迎来到 我的博客! 🌈 💡 探索未知, 分享知识 !💫 本文目录 1. TCP的可靠性机制1.2可靠性的基础上,尽可能得提高效率 2. TCP三次握手过程3. 为何不是四次握手? 在互联网的复杂世界中,TCP&am…

Autosar Crypto Driver学习笔记(二)

文章目录 Crypto DriverFunction definitionsGeneral APICrypto_InitCrypto_GetVersionInfo Job Processing InterfaceCrypto_ProcessJob Job Cancellation InterfaceKey Management InterfaceKey Setting Interface密钥设置接口Crypto_KeyElementSetCrypto_KeySetValid Key Ex…

Linux操作系统及进程(一)

一、操作系统的概念 概念 :任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括: 内核(进程管理,内存管理,文件管理,驱动管理) 其他程…

Redis淘汰策略,持久化和集群

Redis淘汰策略 Redis 的 OBJECT 命令提供了多个子命令&#xff0c;用于检查有关键的内部详细信息。以下是可用的子命令及其描述&#xff1a; ENCODING <key>&#xff1a;返回用于存储与键关联的值的内部表示类型。 FREQ <key>&#xff1a;返回键的访问频率索引。返…

并查集

数据结构、算法总述&#xff1a;数据结构/基础算法 C/C_禊月初三的博客-CSDN博客 并查集是一种用于管理元素所属集合的数据结构&#xff0c;实现为一个森林&#xff0c;其中每棵树表示一个集合&#xff0c;树中的节点表示对应集合中的元素。 基本操作&#xff1a; 初始化&…

Windows→Linux,本地同步到服务器

适用背景&#xff1a; 用自己电脑修改代码&#xff0c;使用实验室/公司的服务器炼丹的朋友 优势&#xff1a; 本地 <--> 服务器&#xff0c;实时同步&#xff0c;省去文件传输的步骤 本地改 -> 自动同步到服务器 -> 服务器跑代码 -> 一键同步回本地&#xff…

Elasticsearch:调整搜索速度

在我之前的文章 “Elasticsearch&#xff1a;如何提高查询性能” 及 “Elasticsearch&#xff1a;提升 Elasticsearch 性能” 里&#xff0c;我详细描述了如何提高搜索的性能。在今天的文章里&#xff0c;我从另外一个视角来描述如何调整搜索的速度。希望对大家有所帮助&#x…