网站搭建大型公司招投标网站开发公司

张小明 2026/1/2 10:56:56
网站搭建大型公司,招投标网站开发公司,大型电商网站开发方案,网站做访问追踪前言 OpenCVSharp关于人脸检测提供了两个例子#xff0c;一个是使用级联分类器另一个是使用DNN模型。 使用级联分类器 级联分类器#xff08;Cascade Classifier#xff09;是计算机视觉中一种高效的目标检测方法#xff0c;特别广泛应用于人脸检测。 在这个例子中使用到了…前言OpenCVSharp关于人脸检测提供了两个例子一个是使用级联分类器另一个是使用DNN模型。使用级联分类器级联分类器Cascade Classifier是计算机视觉中一种高效的目标检测方法特别广泛应用于人脸检测。在这个例子中使用到了Haar级联分类器与Lbp级联分类器。首先需要准备haarcascade_frontalface_default.xml与lbpcascade_frontalface.xml。介绍一下haarcascade_frontalface_default.xml另一个也是差不多的东西。haarcascade_frontalface_default.xml 是 OpenCV 中用于人脸检测的预训练 Haar 级联分类器文件。它包含了从大量人脸样本中学习到的特征模式以 XML 格式存储了多阶段级联分类器的参数。这个文件的主要作用是提供预训练的人脸检测模型无需从头训练包含 24x24 像素检测窗口的 Haar 特征和分类阈值通过级联结构实现快速人脸检测早期阶段快速排除非人脸区域可以在这里获取https://github.com/shimat/opencvsharp_samples/tree/master/SampleBase/Data/Text打开如下所示/* by yours.tools - online tools website : yours.tools/zh/checkurl.html */ // 加载级联分类器 using var haarCascade new CascadeClassifier(HaarCascade); using var lbpCascade new CascadeClassifier(LbpCascade); // 检测人脸 Mat haarResult DetectFace(haarCascade, true); Mat lbpResult DetectFace(lbpCascade, false); private Mat DetectFace(CascadeClassifier cascade, bool isHaar) { Mat result; using (var src new Mat(ImagePath, ImreadModes.Color)) using (var gray new Mat()) { result src.Clone(); Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY); // 检测人脸 Rect[] faces cascade.DetectMultiScale( gray, 1.08, 2, HaarDetectionTypes.ScaleImage, new Size(30, 30)); // 更新人脸计数 if (isHaar) { FaceCountHaar faces.Length; } else { FaceCountLbp faces.Length; } // 渲染所有检测到的人脸 foreach (Rect face in faces) { var center new Point { X (int)(face.X face.Width * 0.5), Y (int)(face.Y face.Height * 0.5) }; var axes new Size { Width (int)(face.Width * 0.5), Height (int)(face.Height * 0.5) }; Cv2.Ellipse(result, center, axes, 0, 0, 360, new Scalar(255, 0, 255), 4); } } return result; }Haar级联分类器与Lbp级联分类器介绍Haar级联分类器是一种基于Haar-like特征的目标检测方法它通过计算图像中不同区域的矩形特征值来识别目标使用积分图加速特征计算并通过AdaBoost算法训练多个弱分类器组合成强分类器最终形成级联结构实现快速人脸等目标检测具有检测速度快但对光照和姿态变化较为敏感的特点。LBP级联分类器采用局部二值模式(Local Binary Pattern)作为特征描述符通过比较像素邻域内像素与中心像素的灰度关系生成二进制编码来描述图像纹理特征具有计算简单、对光照变化不敏感的优势同样使用AdaBoost算法构建级联分类器在人脸检测等应用中表现出良好的鲁棒性和实时性特别适合资源受限的环境。查看CascadeClassifier构造函数/* by yours.tools - online tools website : yours.tools/zh/checkurl.html */ public CascadeClassifier(string fileName) { if (string.IsNullOrEmpty(fileName)) throw new ArgumentNullException(nameof(fileName)); if (!File.Exists(fileName)) throw new FileNotFoundException(\ fileName \not found, fileName); NativeMethods.HandleException( NativeMethods.objdetect_CascadeClassifier_newFromFile(fileName, out ptr)); }从一个文件中加载级联分类器。检测人脸使用级联器类的DetectMultiScale方法查看这个方法的签名public virtual Rect[] DetectMultiScale( Mat image, double scaleFactor 1.1, int minNeighbors 3, HaarDetectionTypes flags 0, Size? minSize null, Size? maxSize null)这是OpenCV中CascadeClassifier类的DetectMultiScale方法用于在输入图像中检测不同大小的目标对象常用于人脸检测。参数名参数含义image8位单通道输入图像(CV_8U类型)用于检测目标scaleFactor图像金字塔缩放比例(默认1.1)控制每次扫描时图像尺寸的缩小比例minNeighbors候选矩形保留所需的最小邻居数量(默认3)用于过滤误检flags检测模式设置与旧版cvHaarDetectObjects函数中的flags参数含义相同minSize检测目标的最小尺寸小于此尺寸的对象将被忽略maxSize检测目标的最大尺寸大于此尺寸的对象将被忽略返回矩形数组这里就一个人脸得到一个矩形区域如下所示效果如下所示使用DNN模型跟之前一样需要一个txt文件与一个模型文件。这两个文件可以在这里获取https://github.com/spmallick/learnopencv/tree/master/FaceDetectionComparison/models// 读取样本图像 using var frame new Mat(ImagePath); int frameHeight frame.Rows; int frameWidth frame.Cols; // 加载DNN模型 using var faceNet CvDnn.ReadNetFromCaffe(ConfigFile, FaceModel); // 创建输入blob using var blob CvDnn.BlobFromImage(frame, 1.0, new Size(300, 300), new Scalar(104, 117, 123), false, false); faceNet.SetInput(blob, data); // 前向传播 using var detection faceNet.Forward(detection_out); using var detectionMat Mat.FromPixelData(detection.Size(2), detection.Size(3), MatType.CV_32F, detection.Ptr(0));跟之前介绍的使用CaffeModel的步骤是一样的这里就不重复介绍了。效果如下所示
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

株洲网站网络推广怎么做海通建设集团有限公司网站

首先checksec检查保护机制:-64位程序-开启了栈不可执行保护题目还附带了libc库文件,点击就能下载接下来使用IDA反汇编分析一下:buf到栈底的距离为0x20个字节,但是下面的read函数却读入了0x100个字节的数据,可以触发栈溢…

张小明 2026/1/2 6:44:41 网站建设

主机网站建设宿州网站网站建设

Minecraft数据编辑终极指南:NBTExplorer快速上手全攻略 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 还在为复杂的Minecraft游戏数据修改而烦恼吗&am…

张小明 2026/1/1 12:13:38 网站建设

河北省建设厅网站查询中心网站 成本

当无人机的视角成为现代视觉叙事的主流语言,一段出色的航拍镜头往往能在三秒内抓住观众的眼球,在三十秒内建立起作品的质感格调。无论是城市宣传片的开篇定调,纪录片中的地理叙事,还是品牌广告里的情绪渲染,高质量的航…

张小明 2026/1/1 20:10:47 网站建设

苏州工业园区做政务网站的公司制作书签 小学生一年级

【获取通道】MiniMax-M2 【免费下载链接】MiniMax-M2 MiniMax-M2是MiniMaxAI开源的高效MoE模型,2300亿总参数中仅激活100亿,却在编码和智能体任务上表现卓越。它支持多文件编辑、终端操作和复杂工具链调用 项目地址: https://ai.gitcode.com/MiniMax-A…

张小明 2026/1/2 0:09:18 网站建设

房产网站模板如何建设一个好的网站

Dify插件扩展机制深度解析:从零构建可复用的AI集成能力 在企业级AI应用开发中,一个常见的困境是:明明已经有了强大的大语言模型,为什么还是做不出真正可用的产品?答案往往在于——模型本身并不等于解决方案。真实业务…

张小明 2026/1/1 16:58:50 网站建设