当前位置: 首页 > news >正文

C#实现图片人脸检测截取并保存为新图片

/// <summary>/// 实现把抓拍的抓拍截取出人脸保存为新照片/// </summary>/// <param name="image_url"></param>/// <returns></returns>publicList<string>GetScnFace(stringimage_name,stringout_photoName,stringip){List<string>list=newList<string>();try{//string name = "01.jpg";// 输入图片路径//string inputImagePath = @"picture//" + name;// Haar特征分类器路径// string faceCascadePath = @"haarcascade_frontalface_default.xml";// 输出图片路径stringoutputImagePath="camera//"+out_photoName;// 加载原始图像stringimagePath=@"camera//"+image_name;MatoriginalImage=CvInvoke.Imread(imagePath,ImreadModes.Color);// 转换为灰度图像(人脸检测通常需要在灰度图像上进行)MatgrayImage=newMat();CvInvoke.CvtColor(originalImage,grayImage,ColorConversion.Bgr2Gray);// 加载人脸检测器(这里使用Haar级联分类器作为示例)stringfaceCascadePath="haarcascade_frontalface_default.xml";// 确保你有这个文件CascadeClassifierfaceDetector=newCascadeClassifier(faceCascadePath);Sizesize=newSize(50,50);// 检测人脸System.Drawing.Rectangle[]faces=faceDetector.DetectMultiScale(grayImage,1.1,// scaleFactor4,// minNeighborssize);// faces = faceDetector.DetectMultiScale(grayImage, 1.1, 4, new Size(30, 30), new Size(200, 200));//添加处理后的人脸名称// 遍历检测到的人脸foreach(System.Drawing.RectanglefaceRectinfaces){// image_name = DateTime.Now.ToString("yyyyMMddHHmmss") + face_image_index + ".jpg";outputImagePath="camera//"+out_photoName;// 截取人脸区域MatfaceRegion=newMat(originalImage,faceRect);// 保存截取到的人脸区域为新照片// string outputPath = "path_to_save_face_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg";faceRegion.Save(outputImagePath);// 输出保存路径(可选)AddTextToRichTextBox1("Face saved to: "+outputImagePath,Color.Green);list.Add(out_photoName);face_image_index++;break;//if (File.Exists(outputImagePath))//{// string base64 = ConvertImageToBase64(outputImagePath, ImageFormat.Jpeg);// //判断使用的人脸服务器,face_server_type : 1表示人脸机,2表示本地,3表示云端,4表示海康// switch (face_server_type)// {// case 1:// AddTextToRichTextBox1("进入人脸机:" , Color.Green);// MachineFaceVerification(base64, ip);//获取照片实现对比// break;// case 2:// AddTextToRichTextBox1("进入公司接口:", Color.Green);// CompnayFaceVerification(base64,ip);// break;// case 3:// break;// case 4:// break;// default:// break;// }//}//else//{// AddTextToRichTextBox1("抓拍照片不存在" + outputImagePath, Color.Red);//}// success = true;}// 清理资源originalImage.Dispose();grayImage.Dispose();returnlist;}catch(Exceptionex){AddTextToRichTextBox1("有误:"+ex.ToString(),Color.Red);returnlist;}returnlist;}
http://www.jsqmd.com/news/536354/

相关文章:

  • 如何用Python SDK实现零代码量化交易?——富途OpenAPI实战指南
  • BeepBox音乐创作终极指南:零基础在线制作器乐旋律
  • 嵌入式系统开发核心技术解析与实践
  • 告别IPTV源失效烦恼:iptv-checker智能检测工具全攻略
  • 微搭低代码MBA 培训管理系统实战 19——学员档案管理功能实现
  • 从踩坑到流畅:OpenClaw 本地 AI 智能体部署与高效使用指南
  • 一键体验:星图平台OpenClaw+百川2-13B-4bits量化模型沙盒环境
  • OpenClaw+GLM-4.7-Flash智能记账:消费分类与分析
  • 服装智能制造 IoT 方案:小单快反场景标签打印一体化终端技术解析
  • 伏特台风(Volt Typhoon):针对关键基础设施的无文件攻击与潜伏技术深度剖析
  • 核心数据怕泄露?内部流程跑不动?我的数字化“双保险”来了!
  • OpenClaw语音扩展:Qwen3-VL:30B对接飞书语音消息转文本
  • 3大方案4步流程:DeepSeek-R1-Distill-Llama-8B开源项目部署高效落地指南
  • 2026红外模组优质厂家推荐榜:红外模组、红外热成像仪、红外监控、红外相机、非制冷红外、人体测温仪、便携式红外热像仪选择指南 - 优质品牌商家
  • 深度学习03 -来源于李宏毅老师的课堂
  • OpenClaw智能客服原型:用nanobot镜像搭建QQ问答机器人
  • 【2025】加入 uniapp 的一年
  • 深入解析ChatTTS Wheel文件:原理、实现与生产环境最佳实践
  • OpenCode AI编程助手:从认知到实践的全方位技术指南
  • 突破ChatGPT地区限制:AI辅助开发实战指南
  • 自动化周报生成:OpenClaw+nanobot聚合多平台工作痕迹
  • 成本警报系统:监控OpenClaw+Qwen3.5-9B的Token消耗突破阈值
  • OpenClaw邮件智能处理:Qwen3-32B-Chat分类归档与自动回复
  • 2026内衬聚氨酯靠谱供应商推荐指南:耐磨防腐管道/聚氨酯板/钢衬聚氨酯复合管/钢衬聚氨酯弯头/钢衬聚氨酯管道/选择指南 - 优质品牌商家
  • 基于vue的班级信息管理系统[vue]-计算机毕业设计源码+LW文档
  • 保健用品企业消字号备案及代工全链条服务:祖传秘方申请批号/秘方委托生产、备案电话/秘方申报认证机构电话/选择指南 - 优质品牌商家
  • 2023B卷,最长和为目标值的子序列
  • 解锁AI创意:借助快马平台的多模型能力将你的AI应用idea快速实现
  • NumPy 函数手册:文件读写
  • ChatGPT提示取消阻止实战:AI辅助开发中的高效调试技巧