matlab 人面检测】的更多相关文章

Create a detector object. faceDetector = vision.CascadeObjectDetector;Read input image. I = imread('visionteam.jpg');Detect faces. bboxes = step(faceDetector, I);Annotate detected faces. IFaces = insertObjectAnnotation(I, 'rectangle', bboxes, 'Face')…
function [hough_space,hough_circle,para] = hough_Circle(BW,step_r,step_angle,r_min,r_max,p) % %%%%%%%%%%%%%%%%%%%%%%%%%% % input % BW:二值图像: % step_r:检测的圆半径步长 % step_angle:角度步长,单位为弧度 % r_min:最小圆半径 % r_max:最大圆半径 % p:以p*hough_space的最大值为阈值,p取0,1之间的数 % %%…
原理简介 针对文件结构的信息隐藏方法需详细掌握文件的格式,利用文件结构块之间的关系或根据块数据和块大小之间的关系来隐藏信息. BMP(Bitmap-File)图形文件是 Windows 采用的常见图形文件格式,要利用 BMP 位图进行信息隐藏首先需要详细了解 BMP 文件的格式,BMP 图像文件结构比较单一而且固定,BMP  图像由文件头.信息头.调色板区和数据区四个部分组成,而 24 位真彩色图像中没有调色板信息.24 位真彩色 BMP 位图文件包括 3 部分. 第一部分是 BMP 文件头.前…
Testbench的作用,在于给我们编写的可综合代码的模块送入激励.即在我们波形仿真中用编写testbench来代替拖拽波形.其中还包括了我们硬件仿真与matlab仿真的联调建立(将matlab产生的数据读入,或者将模块的输出写入到文本,供matlab调用检测). 对于testbench的编写的几点总结: 1.利用`timescale设置仿真时间单位和时间精度.格式: `timescale 时间单位/时间精度 2.用localparam.parameter来定义测试模块中需要定义的常数. 定义常…
Viola-Jones 人眼检测算法+meanshift跟踪算法 这次的代码是对视频中的人眼部分进行检测加跟踪,检测用的是matlab自带的人眼检测工具箱 下面是matlab官网介绍这个算法的一些东西: http://cn.mathworks.com/help/vision/examples/face-detection-and-tracking-using-camshift.html?searchHighlight=Viola-Jones http://cn.mathworks.com/hel…
matlab练习程序(SUSAN检测) SUSAN算子既可以检测角点也可以检测边缘,不过角点似乎比不过harris,边缘似乎比不过Canny.不过思想还是有点意思的. 主要思想就是:首先做一个和原图像等大的目标图像.然后用一个圆形的模板,用模板去遍历原图像每个像素,把模板内的每个像素都和模板中心像素比较,如果灰度小于一个阈值,那么就对目标图像当前和原图像相同位置的像素加一,直到结束.目标图像中在原图像是角点的位置就会取局部极小,所以做一个反向的相减.img=max(img)-img,if img…
PS:好久没更新,因为期末到了,拼命复习中.复习久了觉得枯燥,玩玩儿霍夫变换直线检测 霍夫变换的基本原理不难,即便是初中生也很容易理解(至少在直线检测上是这样子的). 霍夫变换直线检测的基本原理:(不配图了,自己在白纸上画画,理解更深刻) 一步一步来: 1.在白纸上画出一个直角坐标系,任意给出一个点: 2.那么,对于点(x0,y0),经过这个点的直线必定满足y0=k*x0+b, 其中k是直线的斜率,b是直线的截距: 3.上式可以化成b=y0-k*x0,  可以看作是以-x0为斜率,以y0为截距,…
Haar-like矩形遍历检测窗口演示Matlab源代码 clc; clear; close all; % Haar-like特征矩形计算 board = 24 % 检测窗口宽度 num = 24 % 检测窗口分划数 show = 1; % 1为作图 time = 0.001; % 作图间隔 %% if mod(board,num)~=0 error('检测窗口宽度必须是分划数的整数倍') else delta = board/num % 滑动步进值 end %% Haar特征1:左白,右黑,(…
faster-rcnn是MSRA在物体检测最新的研究成果,该研究成果基于RCNN,fast rcnn以及SPPnet,对之前目标检测方法进行改进,faster-rcnn项目地址.首先,faster rcnn所使用的caffe版本并不是官方caffe,是Shaoqing Ren自己在官方版本上实现的一个caffe,具体下载地址为:caffe-faster-rcnn地址 另外,在配置caffe时,可以直接把自己已配置成功的makefile.config文件拷贝过去.由于该版本caffe相对最新的ca…
光流(optical flow) 1950年,Gibson首先提出了光流的概念,所谓光流就是指图像表现运动的速度.物体在运动的时候之所以能被人眼发现,就是因为当物体运动时,会在人的视网膜上形成一系列的连续变化的图像,这些变化信息在不同时间,不断的流过眼睛视网膜,就好像一种光流过一样,故称之为光流. 光流法检测运动物体的原理:首先给图像中每个像素点赋予一个速度矢量(光流),这样就形成了光流场.如果图像中没有运动物体,光流场连续均匀,如果有运动物体,运动物体的光流和图像的光流不同,光流场不再连续均匀…
clear; clc; i1=imread('D:\Work\1.png'); i2=imread('D:\Work\2.png'); i1=rgb2gray(i1); i2=rgb2gray(i2); [m,n]=size(i1); im1=double(i1); im2=double(i2); i3=zeros(size(i1)); :m; :n; ; %最佳阈值在70到90之间 i3(i,j)=; ; i3(i,j)=; end end; end; imshow(i3); s=size(i…
from:http://blog.sina.com.cn/s/blog_736aa0540101kzqb.html clc; clear; close all; % Haar-like特征矩形计算 board = 24                                              % 检测窗口宽度num = 24                                                % 检测窗口分划数 show = 1;            …
1.这篇介绍SURF检测blob的函数. 函数/Functions 函数名称:detectSURFFeatures 功能:利用The Speeded-Up Robust Features(SURF)算法检测blob特征 语法:points = detectSURFFeatures(I); points = detectSURFFeatures(I,Name,Value); 其中,其中,I为2-D灰度图像,points为返回的SURF检测算法检测到的blob,Name必须为用单引号对包含的如下字符…
图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值. 1.Canny边缘检测的基本特征 (1) 必须满足两个条件:①能有效地抑制噪声:②必须尽量精确确定边缘的位置. (2) 根据对信噪比与定位乘积进行测度,得到最优化逼近算子.这就是Canny边缘检测算子. (3) 类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法. 2. Canny边缘检测算法步骤 步骤1:用高斯滤波器平滑处理…
Hough变换的原理: 将图像从图像空间变换至参数空间,变换公式如下: 变换以后,图像空间与参数空间存在以下关系: 图像空间中的一点在参数空间是一条曲线,而图像空间共线的各点对应于参数空间交于一点的各条曲线. 下面使用Matlab实现Hough变换对图像中的直线划痕进行检测. close all; clear all; I = imread('scratch.tif'); figure; subplot(1,3,1); imshow(I); BW = edge(I,'canny');%Canny…
M文件中变量的检测与传递 可变数量的输入输出变量(varargin,vararout): Matlab的输入输出变量数量可变,并具有以下特点: 可变输入输出变量必须在正常变量之后 varargin和vararout本身为元胞数组 在函数调用时,会优先把变量赋予正常变量,在赋予varargin和vararout 可以使用vargin和varout获取实际的输入输出参数数量 例: function varargout = spirallength2(d,n,varargin) % 画出螺旋线或螺旋条…
之前在不经意间也有接触过求突变点的问题.在我看来,与其说是求突变点,不如说是我们常常玩的"找不同".给你两幅图像,让你找出两个图像中不同的地方,我认为这其实也是找突变点在生活中的应用之一吧.回到找突变点位置上,以前自己有过一个傻傻的方法:就是直接求前后两个采样的的差分值,最后设置一个阈值,如果差分值大于这个阈值则该点是突变点.但这个方法问题很大,实际中突变点幅值有大有小,你怎么能确定阈值到底是多少呢?还有可能信号本来的差分值就比你那突变点的差分值还要大.所以这种方法在信号或噪声稍微复杂…
很早之前就做过一些关于人脸检测和目标检测的课题,一直都没有好好总结出来,趁着这个机会,写个总结,希望所写的内容能给研究同类问题的博友一些见解和启发!!博客里面涉及的公式太繁琐了,直接截图了. 转载请注明出处:http://www.cnblogs.com/adong7639/p/4194307.html 一 人脸检测之问题概述 人脸检测是CV领域的一个经典课题,很多学者对人脸检测做了深入的研究,但真正的分水岭却是在2001年viola等大神发表的那篇经典之作Rapid Object Detecti…
基于激光雷达的地面与障碍物检测 这个例子告诉我们如何去检测地平面并且找到三维LIDAR数据中与车相近的障碍物. 这个过程能够方便我们对汽车导航的可行驶区域规划. 注:每一帧的雷达属于都被存储为三维的雷达点云.为了能够高效的处理这些数据.快速的指出与搜索能力是需要的.通过kd-tree结构处理数据.周围平面通过RANSAC算法来拟合(RANSAC算法是一个稳健的模型拟合方法).这个例子也展示了如何使用点云来实现多帧点云的动画过程. 选择要显示的点云区域 首先, 在车辆周围选择一个目标区域, 并配置…
算法思想:如果一个像素与它邻域的像素差别较大(过亮或过暗) , 那它更可能是角点. 算法步骤: 1.上图所示,一个以像素p为中心,半径为3的圆上,有16个像素点(p1.p2.....p16). 2.定义一个阈值.计算p1.p9与中心p的像素差,若它们绝对值都小于阈值,则p点不可能是特征点,直接pass掉:否则,当做候选点,有待进一步考察: 3.若p是候选点,则计算p1.p9.p5.p13与中心p的像素差,若它们的绝对值有至少3个超过阈值,则当做候选点,再进行下一步考察:否则,直接pass掉: 4…
前几天接的一个小项目,基于欧氏距离和马氏距离的异常点检测,已经交接完毕,现在把代码公开. 基于欧式距离的: load data1.txt %导入数据,行为样本,列为特征 X=data1; %赋值给X u=mean(X); %求均值 [m,n]=size(X); for i=1:m dist(i)=sqrt(sum(X(i,:)-u).^2); end [a,b]=sort(dist);%对欧氏距离进行排序 T=ceil(m*0.02)%设置阀值   Threshold=a(m-T);%定为阀值…
前言 对前面的东西更新了一下.地方包括: 1.GUI的更新,更友好的用户界面 2.支持用手直接画车辆区域,并且识别出来 3.将proposal.detect.fine-grained classification三个步骤分离 4.在传入Classification Net的时候,不再循环传入分类,而是将检测出的proposal一起截取形成一个image4d,共同传入alexnet.此举是为了加速. Github https://github.com/ChenJoya/Vehicle_Detect…
题目下载[传送门] 第1题 简述:对于一组网络数据进行异常检测. 第1步:读取数据文件,使用高斯分布计算 μ 和 σ²: % The following command loads the dataset. You should now have the % variables X, Xval, yval in your environment load('ex8data1.mat'); % Estimate my and sigma2 [mu sigma2] = estimateGaussia…
AUC_shuffled.m function [score,tp,fp] = AUC_shuffled(saliencyMap, fixationMap, otherMap, Nsplits, stepSize, toPlot) % saliencyMap is the saliency map % fixationMap is the human fixation map (binary matrix) % otherMap is a binary fixation map (like fi…
calcNSSscore.m function [ score ] = calcNSSscore( salMap, eyeMap ) %calcNSSscore Calculate NSS score of a salmap % Usage: [score] = calcNSSscore ( salmap, eyemap ) % % score : an array of score of each eye fixation % salmap : saliency map. will be re…
步骤1:先定义KLdiv函数: function score = KLdiv(saliencyMap, fixationMap) % saliencyMap is the saliency map % fixationMap is the human fixation map map1 = im2double(imresize(saliencyMap, size(fixationMap))); map2 = im2double(fixationMap); % make sure map1 and…
clear all;close all;clc; n=20; p=rand(n,2); p=createSimplyPoly(p); %创建简单多边形 hold on; for i=1:n if i==1 %处理第一个点 v1=p(n,:)-p(1,:); %当前点到前一点向量 v2=p(2,:)-p(1,:); %当前点到后一点向量 elseif i==n %最后一个点 v1=p(n-1,:)-p(n,:); v2=p(1,:)-p(n,:); else %其他点 v1=p(i-1,:)-p(…
videoObj = VideoReader('4.avi');%读视频文件 nframes = get(videoObj, 'NumberOfFrames');%获取视频文件帧个数 : nframes currentFrame = read(videoObj, k);%读取第i帧 subplot(,,);%创建图像显示窗口并获取第一个窗口句柄 imshow(currentFrame); % Convert to grayscale. grayFrame = rgb2gray(currentFr…
一.目标 1 将药板从黑色背景中分离(药板部分显示为白色,背景显示为黑色): 2 根据分割结果将药板旋转至水平: 3 提取药板中的药丸的位置信息: 二.方法描述 处理图像如下: (1)首先将图像转为灰度图像,并做二值化处理,并采用闭运算将胶囊边缘平滑处理.得到图像如下所示: (2)利用imfill填充命令将胶囊填充,得到下图: 分别从图像中点左右各距100像素点位置向下遍历像素点,直到遍历到白色边缘即胶囊板的边缘停止,分别记录像素点的坐标,示意图如下: 由此计算胶囊板的倾斜角度θ=arctan(…
在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点.插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值.曲面插值是对三维数据进行离散逼近的方法,MATLAB中的曲面插值函数有Triscatteredinterp,interp2,griddata等.我们以griddata为例讲解曲面插值及其交叉验证的过程. 一.  gridata曲面插值 gridata不仅可以对三维曲面进行插值,还能对四维的超平面进行插值.griddata的调…