使用matlab运行人脸跟踪
验证了matlab官网例程,例程如下:
https://ww2.mathworks.cn/help/vision/examples/face-detection-and-tracking-using-camshift.html
在运行的时候发现有一行代码报错。
错误使用 matlab.system.SystemProp/parseInputs (line 862)
vision.CascadeObjectDetector 系统对象构造函数仅支持 1 个仅实值输入。您指定了 3 个仅实值输入。此错误的常见原因是属性名称拼写错误。出错 matlab.system.SystemProp/sysObjSetProperties (line 294)出错 vision.CascadeObjectDetector (line 193)setProperties(obj,nargin,varargin{:},'ClassificationModel');出错 faceDetectionDemo (line 19)
noseDetector = vision.CascadeObjectDetector('Nose','UseROI',true);
原因大概是版本问题,可以更换到最新版本的matlab
如果不更换的话可以用下面这个方法:
也就是将其中两行代码进行替换
%noseDetector = vision.CascadeObjectDetector('Nose', 'UseROI', true);
%noseBBox = step(noseDetector, videoFrame, bbox(1,:));noseDetector = vision.CascadeObjectDetector('Nose');
noseBBox = step(noseDetector, videoFrame);
解决的方法参考下面这个网站:
https://ww2.mathworks.cn/matlabcentral/answers/259887-i-am-getting-this-error-while-running-a-matlab-code-for-face-detection-and-tracking-error-in-nosedet
完整代码如下
% Create a cascade detector object.
faceDetector = vision.CascadeObjectDetector();% Read a video frame and run the detector.
videoFileReader = vision.VideoFileReader('visionface.avi');
videoFrame = step(videoFileReader);
bbox = step(faceDetector, videoFrame);% Draw the returned bounding box around the detected face.
videoOut = insertObjectAnnotation(videoFrame,'rectangle',bbox,'Face');
figure, imshow(videoOut), title('Detected face');[hueChannel,~,~] = rgb2hsv(videoFrame);% Display the Hue Channel data and draw the bounding box around the face.
figure, imshow(hueChannel), title('Hue channel data');
rectangle('Position',bbox(1,:),'LineWidth',2,'EdgeColor',[1 1 0])%noseDetector = vision.CascadeObjectDetector('Nose','UseROI',true);
noseDetector = vision.CascadeObjectDetector('Nose');
noseBBox = step(noseDetector, videoFrame);% Create a tracker object.
tracker = vision.HistogramBasedTracker;% Initialize the tracker histogram using the Hue channel pixels from the
% nose.
initializeObject(tracker, hueChannel, noseBBox(1,:));% Create a video player object for displaying video frames.
videoInfo = info(videoFileReader);
videoPlayer = vision.VideoPlayer('Position',[300 300 videoInfo.VideoSize+30]);% Track the face over successive video frames until the video is finished.
while ~isDone(videoFileReader)% Extract the next video framevideoFrame = step(videoFileReader);% RGB -> HSV[hueChannel,~,~] = rgb2hsv(videoFrame);% Track using the Hue channel databbox = step(tracker, hueChannel);% Insert a bounding box around the object being trackedvideoOut = insertObjectAnnotation(videoFrame,'rectangle',bbox,'Face');% Display the annotated video frame using the video player objectstep(videoPlayer, videoOut);end% Release resources
release(videoFileReader);
release(videoPlayer);
使用matlab运行人脸跟踪相关推荐
- matlab运行LCT跟踪算法代码
可以参考的链接是https://blog.csdn.net/qq_32734095/article/details/86652360 至于opencv的版本,博主说opencv3.0.0没问题,我试的 ...
- 基于MATLAB的人脸识别系统
基于MATLAB的人脸识别系统 一.课题背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除 ...
- 基于MATLAB的人脸识别 (1)
目录 引言 1 1 人脸识别技术 2 1.1人脸识别的研究内容 2 1.1.1人脸检测(Face Detection) 2 1.1.2人脸表征(Face Representation) 2 1.2几种 ...
- 非刚性人脸跟踪 —— 实用工具
面向对象设计 与人脸检测和人脸识别一样,人脸跟踪也由两部分组成:数据和算法.算法通过预先储存(即离线)的数据来训练模型,然后对新来的(即在线)数据执行某类操作.因此,采用面向对象设计是不错的选择. 在 ...
- 非刚性人脸跟踪 —— 人脸跟踪
人脸跟踪问题可认为是寻找一种高效和鲁棒性的方法,它能将各种面部特征的单独检测与这些特征的几何依赖性结合起来,已得到连续帧中每幅图像面部特征位置的精确估计.基于此,需仔细考虑几何依赖性的必要性.下图为用 ...
- 基于MATLAB的人脸考勤识别系统
基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证.刑侦破案.视频监视.机器人智能化和医学等领域,具有广阔的应用价值和商用价值.人脸特征 ...
- 基于matlab的人脸识别系统设计与仿真
研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值 ...
- [坠露木兰]Kinect Face Tracking SDK[Kinect人脸跟踪]2013-4-10更新
Kinect人脸跟踪Kinect Face Tracking SDK 本文持续维护地址:http://guoming.me/kinect-face-tracking 箫鸣琴奏_CPP程序侠 相关资料免 ...
- 超详细基于MATLAB的人脸考勤识别系统
基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证.刑侦破案.视频监视.机器人智能化和医学等领域,具有广阔的应用价值和商用价值.人脸特征 ...
最新文章
- 重大里程碑!VOLO屠榜CV任务,无需额外数据,首次在ImageNet 上达到87.1%
- 获取预制体_基于弱磁探测技术的轴承滚动体转速检测方法研究
- (Mybatis)lombok使用
- nssl1269-射击【贪心,堆】
- ASP.NET.CORE发布后启动网站出现500.19-0x8007000d错误解决方法
- JAVA入门级教学之(myeclipse的使用)
- python---之plt.subplot画图详解
- Sqoop导入数据发生数据倾斜问题 及更好解决
- python从入门到精通需要多久-Python从入门到精通只需要一个月就够了!
- 20. jQuery 遍历 - 祖先
- markdown_Latex各种符号
- 【总结】Unity游戏优化
- 不知不觉 CDSN 也有了百万访问量了
- vb将excel数据导入mysql_使用VB将Excel导入到Sql中
- matlab哈明窗带阻,MATLAB数字滤波器程序 Hamming窗带通滤波器
- 奇东锐腾服务器无法显示,奇东锐腾pxe全自动网刻工具
- 手机测试陨石软件,鉴定陨石真伪的简单测试方法
- MIPI CSI-2笔记(12) -- Low Level Protocol(数据加扰,扰码,Data Scrambling)
- 软件项目招投标中的“标的额”是什么意思?
- 单片机中数码管的十六进制转换
热门文章
- HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)
- Django之通用类视图DetailView
- 外键以及数据库的增删改查你了解多少
- Agisoft PhotoScan 使用二维图像进行三维重建
- 001-photoscan学习笔记
- 纠结!分布式锁到底用Redis好还是ZooKeeper好?
- 聊一聊各种继承方式的前世今生
- 男人,你学会了惧内文化吗
- java健康医疗预约系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- Android7 AT指令修改BT MAC地址