MATLAB--数字图像处理 简单人脸识别
简单人脸识别
思路
找到图像中连通域面积最大的那块连通域。
i=imread('face.jpg');
I=rgb2gray(i);
BW=im2bw(I); %利用阈值值变换法将灰度图像转换成二进制图像
figure(1);
imshow(BW);%最小化背景
[n1 n2]=size(BW);r=floor(n1/10); %分成10块 行
c=floor(n2/10);%分成10块 列
x1=1;x2=r;%对应行初始化
s=r*c; %块面积for i=1:10y1=1;y2=c;%对应列初始化for j=1:10%对四周区域进行处理 if(y2<=c || y2>=9*c) || (x1==1 || x2==r*10)loc=find(BW(x1:x2,y1:y2)==0);%找到一块中像素为0的坐标 结果存在矩阵中[o p]=size(loc);pr=o*100/s;%黑色像素所占比例if pr<=100BW(x1:x2,y1:y2)=0;% 该块变成全黑endimshow(BW);end%列跳跃 就是移到下一块y1=y1+c;y2=y2+c;end%行跳跃 也就是移到下一行x1=x1+r;x2=x2+c;
end
figure(2)
subplot(1,2,1);
imshow(BW)
title('图像处理');
%人脸识别
L=bwlabel(BW,8);%利用bwlabel()函数得到连通域区间
BB=regionprops(L,'BoundingBox');%得到矩形框 去框住每一个连通域%对每个矩形框进行记录,记录其左上角点,长,宽 然后转换成矩阵形式
BB1=struct2cell(BB);
BB2=cell2mat(BB1);[s1 s2]=size(BB2);
mx=0;
for k=3:4:s2-1p=BB2(1,k)*BB2(1,k+1); %连通域矩形面积%找出最大连通域面积 那块连通域就是我们寻找的人脸了if p>mx && (BB2(1,k)/BB2(1,k+1))<1.8mx=p;j=k;end
end
subplot(1,2,2);
title('人脸识别');
imshow(I);
hold on;
%画出人脸区域
rectangle('Position',[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j)],'EdgeColor','r')
结果
MATLAB--数字图像处理 简单人脸识别相关推荐
- 2 找图像连通域_MATLAB--数字图像处理 简单人脸识别
简单人脸识别 思路 找到图像中连通域面积最大的那块连通域. i=imread('face.jpg'); I=rgb2gray(i); BW=im2bw(I); %利用阈值值变换法将灰度图像转换成二进制 ...
- 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识
本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...
- 基于MatLab的PCA降维人脸识别系统(超详细解说)
(一)基于MatLab的PCA降维人脸识别系统 本次博客内容将详细介绍如何使用MatLab,进行PCA降维来识别人脸.内容参考张铮<精通MatLab数字图像处理与识别>.书中有些内容应该是 ...
- matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈
学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...
- MATLAB数字图像处理系统-形状分类
MATLAB数字图像处理系统-形状分类 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...
- 基于数字图像处理的杂草识别
一.课题介绍 杂草同农田作物争夺阳光和养分,严重影响了农作物的生长.为了达到除草的目的,人们开始喷洒大量的除草剂来进行除草.可是却忽略了除草剂的不当使用给人.畜以及环境造成的危害.本文从实际应用出发, ...
- MATLAB数字图像处理(一)
了解MATLAB数字图像处理 MATLAB全称是Matrix Laboratory (矩阵实验室) ,数字图像是以数字方式存储的图像.将图像在空间上离散.量化存储每一个离散位置的信息就可以得到简单的数 ...
- matlab空域滤波,MATLAB数字图像处理基本操作及空域滤波
MATLAB数字图像处理基本操作及空域滤波 实验一 MATLAB 数字图像处理基本操作及空域滤波实验目的1.了解有关数字图像处理的基本概念,熟悉Matlab软件中关于数字图像处理的基本命令,掌握利用M ...
- MATLAB数字图像处理系统[多功能]
MATLAB数字图像处理系统[多功能] 目录 实验一 MATLAB数字图像处理初步 实验二 图像的代数运算 实验三 图像增强-空间滤波 实验四 图像分割 2 实验一 MATLAB数字图像处理初步 一. ...
最新文章
- 给参加学术会议的人一些宝贵建议
- QTP自动化测试自学手册V2.0版本
- 山体等高线怎么看_怎么判断牙龈已经萎缩?
- JVM系列之:从汇编角度分析Volatile
- C++STL与泛型编程 侯捷 (1)
- 【转】横向扩展与纵向扩展
- 数字信号处理实验三 FIR数字滤波器设计与软件实现
- 2018年通信工程师中级传输与接入无线专业实务真题
- proteus仿真微型计算机,微机原理与接口技术——基于8086和Proteus仿真(第3版)...
- Centos 7 安装 TEMPO2
- 为什么数字设计中经常使用 片选信号低电平有效,而不是高电平有效?
- zookeeper-选举流程
- css字体的分类及样式
- 水表计量单位_关于民用水表,你知道多少?
- windows7 VCP安装失败的解决办法
- GBase 8a支持国产CPU,ARM CPU,华为泰山的鲲鹏(Kunpeng),曙光的海光(Hygon),申威(SW)
- 小程序好看卡片式轮播
- 使用Excel和OutLook实现自动发送邮件
- kinslideshow使用时图片和a标签不能换行,否则。无法实现无缝滚动。
- 本地调试(local debug)Hive源码