人脸识别打卡 人脸识别打卡 

demo:https://github.com/dunitian/DNTLive/tree/master/Software/WaterMarkAPP/LoTWaterAPP

demo:https://github.com/dunitian/DNTLive/tree/master/Software/WaterMarkAPP/LoTWaterAPP

说从此人脸识别,还确实有接触缘分。记得逆天先当学生时代到创新大赛的早晚,题目就是是人脸识别打卡 缓解别人给人打卡的题材,想想看,要是用微软的faceapi那还免是可怜轻实现之?

说自这人脸识别,还真有硌缘分。记得逆天先在学童时期到创新大赛的当儿,题目就是人脸识别打卡 缓解别人给人打卡的问题,想想看,要是用微软的faceapi那还不是雅爱实现之?

图片 1

图片 2

哼了,不聊了,上次概述了下行印情缘:http://www.cnblogs.com/dunitian/p/6232074.html

好了,不聊天了,上次概述了下行印情缘:http://www.cnblogs.com/dunitian/p/6232074.html

相同摆设图概括:

同摆图概括:

图片 3

图片 4

前额,这次先押下力量,然后推广一些出过程中之知识点,然后介绍一下微软的FaceAPI

额头,这次先看下力量,然后推广一些开发过程中的知识点,然后介绍一下微软的FaceAPI

==》本来的意义还是以,非人脸识别,请以消息框中甄选吧

==》原先的机能仍在,非人脸识别,请于消息框中摘也

图片 5

图片 6

匪要求人脸识别的即选否,每个月Api次数是片的

勿要求人脸识别的虽选否,每个月Api次数是少的

图片 7

图片 8

士成缩略图:(后期可加上缩略比例的调剂)

士大夫成缩略图:(后期可增长缩略比例之调剂)

图片 9

图片 10

异步的法子开工作了

异步的办法初步工作了

图片 11

图片 12

吓了下会打招呼你(很多人用异步的章程不会见捕获异常及得后的通报,一会自身小说一下)

吓了随后会打招呼你(很多人之所以异步的艺术不会见捕获异常及成就后底打招呼,一会自有些说一下)

图片 13

图片 14

看望人脸,免费版的精度是地步已经十分好了(19单面子尽管2摆放小误差),要是你拿他因而来人数脸打卡,完全可以允许的呗,没识别出来又试试一试试就ok了

望人脸,免费版的精度是地步已经坏好了(19个脸就是2摆设小误差),要是你管他之所以来人数脸打卡,完全好允许的嘛,没识别出又尝试一试行就ok了

图片 15

图片 16

点起平摆看看,其实还是老明显的(网上的face
api多还是对刚刚脸识别比较好,侧脸就差多,微软的是算对的了【之前微软不是生三三两两款小打很火嘛,就是之所以之人脸识别】)

点开始平张看看,其实还是坏明显的(网上的face
api多还是针对刚脸识别比较好,侧脸就差多,微软的此算对的了【之前微软不是起些许暂缓小打很火嘛,就是之所以底人脸识别】)

图片 17

图片 18

面演示部分了了,我们进来技能探讨环节(技术产生啊不就的要还有啊更好方案的。还望同志等提点一下,小子勇于接受批评)

点演示部分竣工了,我们进来技能探讨环节(技术来啊不就的要还有啊还好方案的。还望同志等提点一下,小子勇于接受批评)

先说下,装过时间,异常处理

先说下,安装过时间,异常处理

图片 19

图片 20

完了后底通报其实为特别简短:

成就后底打招呼其实呢十分简单:

图片 21

图片 22

有人可能会见说:Task.Factory.StartNew 和 Task.Run
一样未?Run就是率先种方法,只不过自动添加了有的默认参数

有人或许会见说:Task.Factory.StartNew 和 Task.Run
一样不?Run就是第一种植办法,只不过自动添加了部分默认参数

再说下Magick,之前说了水印的用法:http://www.cnblogs.com/dunitian/p/5895133.html

再说下Magick,之前说了水印的用法:http://www.cnblogs.com/dunitian/p/5895133.html

这次基本上用法皆了,缩略图,裁剪,水印 

这次基本上用法都了,缩略图,裁剪,水印 

推官方文档没有说,我是基于指令逆推的==》写了个demo:https://github.com/dunitian/TempCode/tree/master/2016-12-26/MagickTest

剪官方文档没有说,我是冲指令逆推的==》写了个demo:https://github.com/dunitian/TempCode/tree/master/2016-12-26/MagickTest

图片 23

图片 24

图片 25

图片 26

转变缩略图很粗略:

变动缩略图很简单:

图片 27

图片 28

 水印官方写的不得了详细:

 水印官方写的很详细:

图片 29

图片 30



一晃任这了,说说人脸识别,之前不知底官方发sdk,自己包了。一起看吧,有利于理解官方sdk:

转眼间无论这个了,说说人脸识别,之前未理解官方发sdk,自己包装了。一起探访吧,有利于理解官方sdk:

图片 31

图片 32

第一定义了一个人脸识别的专用异常类:(别问我耶底不直接用Exception,不明了百度下~)

第一定义了一个人脸识别的专用异常类:(别问我吗啥不直用Exception,不知底百度下~)

图片 33

图片 34

下面进行场景复原,为什么这么封装,很多人不写方法,直接贴代码,看之好头晕

脚进行场景复原,为什么这样封装,很多人数不写方法,直接贴代码,看之善头晕

下一场是Model,我立刻边没高兴封装脸部主要点,需求决定一切(我若面部矩阵),如果是Face++就得投机终究了

下一场是Model,我当下边没高兴封装脸部主要点,需求决定整个(我要是面部矩阵),如果是Face++就得投机终究了

微软回到结果是者:

微软回来结果是其一:

图片 35

图片 36

这就是说model自然就得如此封装了

那么model自然就得这般封装了

图片 37

图片 38

在意处理一下每个字段的负数气象(后面计算是可能吗倚的)

瞩目处理一下每个字段的负数事态(后面计算是唯恐为借助的)

图片 39

图片 40

图片 41

图片 42

下就是基本代码:(我这边分了网页URL和当地图片路径,SDK好像统一用流的点子)

脚就是是核心代码:(我随即边分了网页URL和本土图片路径,SDK好像统一用流的法)

怎么自己分开点儿种植情景,看即半布置图虽能领悟:

缘何我分点儿种植状况,看即简单张图虽能懂:

图片 43

图片 44

图片 45

图片 46

根据要求进行打包:

依据要求开展打包:

图片 47

图片 48

看代码: 

看代码: 

图片 49

图片 50

 下面就是响应了

 下面就响应了

图片 51

图片 52

图片 53

图片 54

图片 55

图片 56

极致多,我就是未贴了,看对许代码:(微软之提醒是英文的,我得简单封装下)

绝多,我虽不粘了,看对承诺代码:(微软的提醒是英文的,我得简单封装下)

图片 57

图片 58

图片 59

图片 60

 调用就无须说了吧:await FaceHelper.GetFaceModelList(path)
or FaceHelper.GetFaceModelList(path).Result

 调用就绝不说了咔嚓:await FaceHelper.GetFaceModelList(path)
or FaceHelper.GetFaceModelList(path).Result

微软的api很简单,eg:

微软的api很简单,eg:

图片 61

图片 62

图片 63

图片 64

 private static async Task<IEnumerable<Face>> UploadAndDetectFaces(string imageFilePath)
        {
            try
            {
                using (Stream imageFileStream = File.OpenRead(imageFilePath))
                {
                    var faceClient = new FaceServiceClient(FaceHelper.GetAPIKey());
                    return await faceClient.DetectAsync(imageFileStream);
                }
            }
            catch (FaceAPIException ex)
            {
                throw ex;
            }
        }
 private static async Task<IEnumerable<Face>> UploadAndDetectFaces(string imageFilePath)
        {
            try
            {
                using (Stream imageFileStream = File.OpenRead(imageFilePath))
                {
                    var faceClient = new FaceServiceClient(FaceHelper.GetAPIKey());
                    return await faceClient.DetectAsync(imageFileStream);
                }
            }
            catch (FaceAPIException ex)
            {
                throw ex;
            }
        }

  

  

 先这样吧,WPF不是十分善于,凑合在用吧~~

 先这样吧,WPF不是老大擅长,凑合着用吧~~

相关文章