惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cisco Blogs
爱范儿
爱范儿
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
Jina AI
Jina AI
Project Zero
Project Zero
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
Simon Willison's Weblog
Simon Willison's Weblog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tenable Blog
F
Fortinet All Blogs
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
月光博客
月光博客
雷峰网
雷峰网
G
Google Developers Blog
V
V2EX
T
Tor Project blog
罗磊的独立博客
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy International News Feed
S
Securelist
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
小众软件
小众软件
Scott Helme
Scott Helme
I
Intezer
T
Threat Research - Cisco Blogs
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
C
CERT Recently Published Vulnerability Notes
Security Archives - TechRepublic
Security Archives - TechRepublic
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LINUX DO - 最新话题
N
News | PayPal Newsroom
L
Lohrmann on Cybersecurity
T
Troy Hunt's Blog
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
人人都是产品经理
人人都是产品经理
Latest news
Latest news
AWS News Blog
AWS News Blog
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 鞠强

HBase初探 C#访问Azure的资源 HDInsight - 1,简介 Windows8.1画热度图 - 坑 使用windbg查看DependencyObject的属性 LiveSDK初始化/登录时失败的解决办法 开发WP版本的大菠萝英雄榜 SQL 2014 in-memory中的storage部分 XAML绑定 Diablo3狗熊榜 微软上海招聘有经验的.NET开发人员 塔防蜀的存档分析 我的HD2手机 和我一起作Tess的windbg lab,结束 和我一起作Tess的windbg lab - Lab7, MemoryLeak 和我一起作Tess的windbg lab - Lab6, MemoryLeak 和我一起作Tess的windbg lab - Lab5, Crash 和我一起作Tess的windbg lab - Lab4, High CPU 和我一起作Tess的windbg lab - Lab3, Memory
Kinect 1
鞠强 · 2013-04-02 · via 博客园 - 鞠强

如果用定时器,在AllFramesReady里面生成图片时,System.Windows.Forms.Timer不好用,应该用System.Timers.Timer。区别在这里:http://msdn.microsoft.com/en-us/magazine/cc164015.aspx

Skeletion追踪时,使之Smooth的方法如下:

TransformSmoothParameters tsp = new TransformSmoothParameters();                 

tsp.Smoothing = 0.5f;                 

tsp.Correction = 0.5f;                 

tsp.Prediction = 0.5f;                 

tsp.JitterRadius = 0.05f;                 

tsp.MaxDeviationRadius = 0.04f;

kinect.SkeletonStream.Enable(tsp);

ColorImageFrame转换成bmp的代码

        using (ColorImageFrame cif = e.OpenColorImageFrame())
            {
                if (cif == null) return;

                byte[] data = new byte[cif.PixelDataLength];
                cif.CopyPixelDataTo(data);

                IntPtr ptrData = Marshal.AllocHGlobal(data.Length);
                Marshal.Copy(data, 0, ptrData, data.Length);

                using (Bitmap bmp = new Bitmap(cif.Width, cif.Height, cif.Width * cif.BytesPerPixel, PixelFormat.Format32bppRgb, ptrData))
                {
                    g.DrawImage(bmp, 0, 0);
                }

                Marshal.FreeHGlobal(ptrData);
            }

注意IntPtr那个要free掉,否则会有内存泄露。同时,new bitmap那个,要注意imageframe在new的时候,选择的PixelFormat。

骨骼支点转换为colorimageframe点的方法

Microsoft.Kinect.CoordinateMapper cm = new CoordinateMapper(kinect);
ColorImagePoint cip = cm.MapSkeletonPointToColorPoint(joint.Position, kinect.ColorStream.Format);

而原来的如下代码,已经obsolete

图片叠加:

用render过的图片,放在一个新背景上。

1、找一个图做新背景。g.DrawImage(back,0,0);

2、用ColorImageFrame和DepthImageFrame把人扣出来,形成一个Bitmap对象

3、设置manBitmap.MakeTransparent();

4. 把人贴上。g.DrawImage(manBitmap,0,0)

第二步中,噪点太厉害。