开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:498

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 164|回复: 0

[技术讨论] 为什么存不进链表

[复制链接]  [移动端链接]
排名
18365
昨日变化
12

8

主题

28

帖子

94

积分

Rank: 2Rank: 2

UID
245465
好友
0
蛮牛币
39
威望
0
注册时间
2017-9-22
在线时间
34 小时
最后登录
2018-1-22
发表于 2018-1-5 11:20:39 | 显示全部楼层 |阅读模式
5蛮牛币
求大神解答下

[C#] 纯文本查看 复制代码
 if (webCamTextureToMatHelper.IsPlaying () && webCamTextureToMatHelper.DidUpdateThisFrame ()) {
                
                Mat rgbaMat = webCamTextureToMatHelper.GetMat ();

                OpenCVForUnityUtils.SetImage (faceLandmarkDetector, rgbaMat);

                //detect face rects
                List<UnityEngine.Rect> detectResult = faceLandmarkDetector.Detect ();

                if (detectResult.Count > 0)
                {
                    List<MatOfPoint2f> holeList = new List<MatOfPoint2f>();//最终所有面点的容器

                    List<Vector2> copyPoints = new List<Vector2>();
                  
                    foreach (var rect in detectResult)
                    {
                        //detect landmark points 检测面部点

                        List<Vector2> points = faceLandmarkDetector.DetectLandmark(rect);
                        copyPoints = points;
            
                            if (isShowingFacePoints)
                                OpenCVForUnityUtils.DrawFaceLandmark(rgbaMat, points, new Scalar(0, 255, 0, 255), 2);
                        
                        
                            imagePoints.fromArray(                          //每个imagePoint存储到holeList里面

                                new Point((points[38].x + points[41].x) / 2, (points[38].y + points[41].y) / 2),//l eye
                                new Point((points[43].x + points[46].x) / 2, (points[43].y + points[46].y) / 2),//r eye
                                new Point(points[33].x, points[33].y),      //nose
                                new Point(points[48].x, points[48].y),      //l mouth
                                new Point(points[54].x, points[54].y),      //r mouth                                                           
                                new Point(points[0].x, points[0].y),        //l ear
                                new Point(points[16].x, points[16].y)       //r ear    
                                );
                        
                            if (!holeList.Contains(imagePoints))
                                holeList.Add( imagePoints as MatOfPoint2f);
                                                                          
                        //if(!holeList.Contains(imagePoints[i))
                        //    holeList.Add(imagePoints[i] as MatOfPoint2f);
                       
                    }
                    foreach (var item in holeList)
                        {
                            Calib3d.solvePnP(objectPoints, item, camMatrix, distCoeffs, rvec, tvec);

                        Debug.Log("hloeList  "+holeList.Count);
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

快速回复 返回顶部 返回列表