IplImg 和 Mat 版本的 facedetect 大对比

2023-11-05 04:49

本文主要是介绍IplImg 和 Mat 版本的 facedetect 大对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前天老板突然把原来2个月的项目压缩到2个星期(PS:要不要差距这么大),

本来计划的比较完善的暑假计划看来要搁置一段时间了,不能刷题了,不能看视频了,不能。。。

万一马上的这个学期可以打比赛但是缺少训练怎么办。。。。。。。。。。。。。不知道。。。


【不同一   分类器的加载】

IplImg版本:

static CvMemStorage* storage = 0;
static CvHaarClassifierCascade* cascade = 0;
const char* cascade_name = NULL;int main()
{... ...//初始化分类器cascade_name = "E:/Project/faceDetect/faceDetect/haarcascade_frontalface_alt2.xml";//加载分类器cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );//如果分类器没有正常加载,报错if( !cascade ){fprintf( stderr, "ERROR: Could not load classifier cascade\n" );return -1;}storage = cvCreateMemStorage(0);... ...
}


Mat版本:

String cascadeName = "./haarcascades/haarcascade_frontalface_alt2.xml";//人脸的训练数据
String nestedCascadeName = "./haarcascades/haarcascade_eye.xml";//人眼的训练数据int main()
{... ...CascadeClassifier cascade, nestedCascade;//创建级联分类器对象//从指定的文件目录中加载级联分类器if( !cascade.load( cascadeName ) ){cerr << "ERROR: Could not load classifier cascade" << endl;return 0;}//如果分类器没有正常加载,报错if( !nestedCascade.load( nestedCascadeName ) ){cerr << "WARNING: Could not load classifier cascade for nested objects" << endl;return 0;}... ...
}


【不同二   调用detectAndDraw】

IplImg版本:

int main()
{... ...//将原图片转成iplimg型IplImage * src=&(IplImage)frame;//原型cvSetImageROI(src , cvRect(x,y,width,height));cvSetImageROI(src,cvRect(a,b,c,d));IplImage * dst = cvCreateImage(cvSize(c,d),src->depth,src->nChannels);cvCopy(src,dst,0);cvResetImageROI(src);detect_and_draw(dst);//释放显示分配空间的dstcvReleaseImage(&dst);... ...
}


Mat版本:

int main()
{... ...//得到要识别的矩形框Rect r=Rect(a,b,c,d);//截取frame中的r矩形框大小Mat src=frame(r);detectAndDraw(src,cascade, nestedCascade,1.3);... ...
}





这篇关于IplImg 和 Mat 版本的 facedetect 大对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/347511

相关文章

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序