首页 > 其他分享 >给采集视频的增加人脸

给采集视频的增加人脸

时间:2023-09-12 18:12:06浏览次数:27  
标签:视频 Console Capture frame Cv2 times 采集 人脸 new

 1 static void Main(string[] args)
 2 {
 3     Mat frame = new Mat();
 4     var Capture = new VideoCapture("http://192.168.1.3:4747/video?1280x720"); // 这里是DroidCam手机端的IP地址和端口号 ?1280x720
 5     Console.WriteLine($"摄像头是否打开:{Capture.IsOpened()}");
 6     //声明窗口
 7     Cv2.NamedWindow("video", WindowFlags.KeepRatio);
 8     Cv2.ResizeWindow("video", 1280, 720);
 9 
10     //加载人眼、人脸模型数据
11     CascadeClassifier faceFinder = new CascadeClassifier(@"haarcascades\haarcascade_frontalface_default.xml");
12     CascadeClassifier eyeFinder = new CascadeClassifier(@"haarcascades\haarcascade_eye_tree_eyeglasses.xml");
13     var Count = new ConcurrentDictionary<long, int>();
14     long PreviousTime = 0;
15     long FPS = 0;
16     while (true)
17     {
18         bool res = Capture.Read(frame);//会阻塞线程
19         if (!res || frame.Empty())
20         {
21             continue;
22         }
23         var times = GettimeStamp();
24         if (PreviousTime != times && Count.ContainsKey(times - 1))
25         {
26             PreviousTime = times;
27             FPS = Count[times - 1];
28             Console.WriteLine($"每秒处理图片:{FPS}帧");
29         }
30         Count.AddOrUpdate(times, 1, (k, v) => v + 1);
31 
32         Cv2.PutText(frame, $"{FPS}", new Point(10, 70), HersheyFonts.HersheyPlain, 4, new Scalar(0, 0, 255), 3);
33         //进行检测识别
34         Rect[] faceRects = faceFinder.DetectMultiScale(frame);
35         Rect[] eyeRects = eyeFinder.DetectMultiScale(frame);
36         //如果有检测到,就绘制结果到图像上
37         if (faceRects.Length > 0)
38         {
39             Cv2.Rectangle(frame, faceRects[0], new Scalar(0, 0, 255), 3);
40         }
41         if (eyeRects.Length > 1)
42         {
43             Cv2.Rectangle(frame, eyeRects[0], new Scalar(255, 0, 0), 3);
44             Cv2.Rectangle(frame, eyeRects[1], new Scalar(255, 0, 0), 3);
45         }
46         //显示结果
47         Cv2.ImShow("video", frame);
48         Cv2.WaitKey(1);
49         //省略几个以加快图像的速度
50         Capture.Grab();
51         Capture.Grab();
52         Capture.Grab();
53         Capture.Grab();
54     }
55     Capture.Release();
56     //销毁所有的窗口
57     Cv2.DestroyAllWindows();
58     Console.WriteLine("录制完毕!");
59     Console.ReadLine();
60 }

 

标签:视频,Console,Capture,frame,Cv2,times,采集,人脸,new
From: https://www.cnblogs.com/kingkie/p/17697437.html

相关文章

  • 视频监控/安防监控/AI视频分析/边缘计算EasyCVR如何调取登录接口获取token?
    安防视频监控管理平台/视频汇聚/视频云存储平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、AI智能分析等,视频监控智能分析平台EasyCVR融合性强、开放度高、部署轻快,在智慧工地、智慧园区、......
  • React框架下如何集成H.265网页流媒体EasyPlayer.js视频播放器?
    H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流。在功能上,EasyPlayer支持直播、点播、录像、快照截图、MP4播放......
  • 安防监控/视频汇聚/云存储/AI智能视频分析平台EasyCVR下级海康设备无法级联是什么原因
    安防视频监控平台/视频集中存储/云存储/磁盘阵列EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。有用户反馈,在使用下级平台的海康设备级联到视频监控Easy......
  • 视频直播点播平台EasyDSS如何单独保存录像计划文件?具体如何操作呢?
    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。有用户反馈:在视频直播点播平台EasyDSS中设置了片段形式的录像计划,但是会自动合并在一块,如何保存......
  • 视频监控管理平台/视频汇聚/视频云存储EasyCVR安全检查相关问题及解决方法3.0
    智能视频监控系统/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,视频监控综合管理平台EasyCVR支持海量视频汇聚管理,可应用在多样化的场景上,包括城市“一网统管”建设、智慧工地风险预警、智慧工厂......
  • 视频监控平台EasyCVR接入国标GB28181设备无法播放设备录像,是什么原因?
    安防视频监控平台EasyCVR支持将部署在监控现场的前端设备进行统一集中接入,可兼容多协议、多类型设备,管理员可选择任意一路或多路视频实时观看,视频画面支持单画面、多画面显示,视频窗口数量有1、4、9、16个可选,还能支持视频轮巡播放。视频监控平台/视频存储平台/视频智能分析平台Easy......
  • 视频直播点播平台EasyDSS如何单独保存录像计划文件?具体如何操作呢?
    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。有用户反馈:在视频直播点播平台EasyDSS中设置了片段形式的录像计划,但是会自动合并在一块,如何......
  • 视频监控管理平台/视频汇聚/视频云存储EasyCVR安全检查的相关问题及解决方法3.0
    智能视频监控系统/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,视频监控综合管理平台EasyCVR支持海量视频汇聚管理,可应用在多样化的场景上,包括城市“一网统管”建设、智慧工地风险预警、智慧工厂......
  • python采集数据保存csv, 文件内容乱码了怎么解决?
    如果你的Python程序采集到的数据在保存成CSV格式的文件时出现了乱码,那么可尝试以下解决方法:1.在打开CSV文件时指定编码方式你可以使用Python中的open()函数打开CSV文件,并在open()函数中指定文件编码方式为CSV文件原始编码方式。如果CSV文件原始编码......
  • RTMP视频服务器EasyDSS互联网视频直播点播平台如何基于FastDFS、ffmpeg、videojs实现
    互联网视频直播点播EasyDSS平台能实现视频流媒体的上传、转码、存储、录像、推流、拉流、直播等功能,在场景上,可以应用到互联网教育、在线课堂、游戏直播、视频点播、无人机等领域。 视频点播平台是指提供用户上传、存储和播放视频内容的在线平台。它可以让用户随时随地观看各......