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

        博主简介: 专注、专一于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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉之三维重建(2)---摄像机标定

文章目录 一、回顾线代1.1 线性方程组的解1.2 齐次线性方程组的解 二、透镜摄像机的标定2.1 标定过程2.2 提取摄像机参数2.3 参数总结 三、径向畸变的摄像机标定3.1 建模3.2 求解 四、变换4.1 2D平面上的欧式变换4.2 2D平面上的相似变换和仿射变换4.3 2D平面上的透射变换4.4 3D…

音视频开发_SDL跨平台多媒体开发库实战

SDL(Simple DirectMedia Layer)是一个非常流行和强大的跨平台开发库,它主要被用来开发视频游戏和实时多媒体应用程序。它提供了一系列的功能来处理视频、音频、键盘、鼠标、操纵杆、图形硬件加速以及聚焦3D硬件的各种功能。SDL的API通过C编程…

串行通信协议 SPI

SPI(Serial Peripheral Interface)是一种串行通信协议,常用于连接微控制器、存储器、传感器和其他外围设备。SPI通常由一个主设备(通常是微控制器)和一个或多个从设备组成。 1、SPI通信一般由四根线组成: SCLK&#x…

Java学习笔记20——枚举类型的创建与使用

在实际编程中,存在着这样的“数据集”,它们的数值在程序中是稳定的并且个数是有限的。例如春、夏、秋、冬四个数据元素组成了四季的“数据集”,一月到十二月组成了十二个月份的“数据集”,周一到周五及周六周日组成了每周七天的“…

无论是自学还是培训,找工作都要有舍我其谁的信心

不要说自己不行,要说自己可以,做的很不错。 我在投简历的时候,没有包装,然后在与hr沟通的时候,就会遇到 hr问技术能力如何这样的相关问题,其实我觉得我自己不够自信,想要获得一个offer。必须先…

25 OpenCV模板匹配算法

文章目录 介绍匹配算法介绍matchTemplate 模板匹配算子minMaxLoc 找出图像中的最大值最小值代码示例 介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。 所以模板匹配首先需要一个模板图像T(给定的子图像) 另外需要一个待检测的图像-源图…

必看!想入行嵌入式该准备些什么?

近日,很多人问华妹:想入行嵌入式该怎么准备。很能理解大家对于嵌入式的关注,嵌入式系统是当今科技领域中的重要组成部分,它存在于我们生活的方方面面,各行各业。智能化时代的到来也让嵌入式技术炙手可热! …

高通平台初步

网上找的图,大体差不多,但是有些细节有点奇怪。 上面的图有点小怪,主要是Libraies,Framework,App,这部分感觉应该是Google的。其他的没啥问题。 大概整理一下编译流程吧。 首先是安装环境,一些…

如何对静态IP进行测试?静态IP有什么优点?

随着互联网的普及,越来越多的人开始使用动态IP进行上网。但是在某些情况下,我们可能需要使用静态IP进行测试或特定的网络设置。本文将介绍如何获取静态IP进行测试以及静态IP的优点。 一、如何获取静态IP进行测试? 1.联系ISP(Int…

Controller中接收数组参数

1、场景 需要根据用户id集合批量删除用户数据,前端使用post请求,controller中参数接收数组参数并根据用户id删除用户基本信息 2、分析处理: 2.1、前端请求类型contentType:application/json 请求体中为json字符串,后端新建一个U…

力扣23. 合并 K 个升序链表(最小堆)

Problem: 23. 合并 K 个升序链表 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.创建虚拟头节点dummy并创建辅助指针p指向dummy; 2.创建最小堆minHeap将每个链表的头节点存入; 3.当minHeap不为空时每次让p指向从最小堆堆顶取出的节点node&#xff0…

【小沐学AI】Google AI大模型的一点点学习(Python)

文章目录 1、Google AI简介1.1 Google AI Studio1.2 Bard1.3 PaLM1.4 Gemini1.5 Gemini API1.6 Vertex AI1.7 Gemma 2、Google AI开发2.1 快速入门2.1.1 配置开发环境2.1.2 列出所有模型2.1.3 从文本输入生成文本2.1.4 从图像和文本输入生成文本2.1.5 聊天对话 结语 1、Google …

Covalent Network(CQT)与 Celo 集成,推动 Web3 下一代现实资产解决方案的发展

Covalent Network(CQT)是一个统一的区块链 API 提供商,其已正式与 Celo 集成,Celo 是一个以移动优先的 EVM 兼容链。这一重要的里程碑旨在提升 Celo 生态系统中开发者的能力,通过授予他们访问关键链上数据的权限&#…

踏“时间”与“空间”前来探寻复杂度的奥妙(Java篇)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

基于WTR096-28SS芯片方案的宠物喂食器实现智能化喂食功能

一、简介 本方案宠物喂食器采用了WTR096-28SS芯片方案来实现智能化的喂食功能。该方案结合了先进的技术和设计理念,提供了便捷、智能和个性化的宠物喂食解决方案。 该宠物喂食器具备定时、定量喂食功能,可以根据主人设定的时间和食物量,自动…

xercesc库保存XML功能实现

目录 一 参考链接 二 运行结果 三 代码 一 参考链接 DOM Programming Guide (apache.org) Xerces-c DOM XML文件的构造_xerces-c domimplementation-CSDN博客 Xerces-c库的使用-CSDN博客 二 运行结果 三 代码 #if 1//参考链接: https://blog.csdn.net/RGBMa…

HarmonyOS NEXT应用开发之SideBarContainer侧边栏淡入淡出动效实现案例

介绍 在2in1或平板上,群聊侧边栏是一种较为常用的功能,虽然HarmonyOS已经具备了基本的动效,但是部分情况下开发者可能有定制侧边栏动效的需求,本例主要介绍了如何基于显式动画实现侧边栏的淡入淡出动效。 效果图预览 使用说明&a…

【区间、栈】算法例题

目录 六、区间 48. 汇总区间 ① 49. 合并区间 ② 50. 插入区间 ② 51. 用最少数量的箭引爆气球 ② 七、栈 52. 有效的括号 ① 53. 简化路径 ② 54. 最小栈 ② 55. 逆波兰表达式求值 ② √- 56. 基本计算器 ③ 六、区间 48. 汇总区间 ① 给定一个 无重复元素 的 …

静态代理IP如何测试?

随着互联网的普及,越来越多的人开始使用动态IP进行上网。但是在某些情况下,我们可能需要使用静态IP进行测试或特定的网络设置。本文将介绍如何获取静态IP进行测试以及静态IP的优点。 一、如何获取静态IP进行测试? 1.联系ISP(Int…

DM-达梦数据库实时主备搭建

dm实时主备说明 将主库产生的 Redo日志传输到备库,备库接收并重演Redo日志,从而实现备库与主库的数据同步。 一、环境准备 1.1、配置环境准备 首先搭建实时主备,要规划好机器的,我准备两台机器服务器 主服务器 mast…