2

我正在与一些编程伙伴一起为 kinect 创建一个 AS 接口,我们遇到的一个问题是图像差异。我们需要能够丢弃在图像之间不会发生变化的图像数据,以便我们可以仅定位移动的事物(即人)。

有人对此有任何经验或我们可以走的方向吗?

4

4 回答 4

2

看一下BitmapData上的阈值方法。它会让你做这些事情。他们的文档有一个简单的例子,所以检查一下。

于 2010-11-30T21:35:20.907 回答
2

我会考虑创建一个像素弯曲着色器来找出差异并进行任何其他数学运算或跟踪。Pixel Bender 在普通 Flash 播放器之外拥有自己的线程,因此您可以为您的设置获得更多马力。Pixel Bender 着色器可以应用于位图、矢量或视频,所以我认为它非常适合这个项目。祝你好运!

http://www.adobe.com/devnet/flash/articles/pixel_bender_basics.html

并且是一个完整的着色器集合,包括差异

于 2010-12-01T01:35:44.567 回答
1

这可能是一个很长的镜头,这只是我漫无边际的,但在合理的理论中(奇怪我如何将它与图像消除联系起来,但这里是……)消除的概念是当你获取一个波样本并添加它的逆。这就是您如何从乐器 + 原件或从无伴奏合唱 + 原件制作器乐。

也许您可以反转新图像并将两者“标准化”以获得您的偏移量?即第一张图像是“白底黑”,第二张图像是“黑底白”,然后检测位图数据的差异。我知道几年前我用过类似的方法来查找与 AS3 的碰撞。从理论上讲,这会抵消任何“重复”像素,只留下最后一帧的变化。

使用 BitmapData,您的值将从 0 到 255,因此如果您可以实现取消(因为图像的很多部分将与帧 t 帧保持相同),那么您可以轻松找到上一个的更改框架。

只是一个想法!无论您的解决方案是什么,它都必须要快才能战胜闪存运行时的慢速。您的 Kinect 读取 FPS 速率将受到错误代码的极大阻碍。

于 2010-11-30T23:36:46.990 回答
1

这是我不久前写的一些帧差分代码。它使用位图数据:http ://actionsnippet.com/?p=2820

我还用它来捕捉视频源中的移动颜色:http ://actionsnippet.com/?p=2736

于 2010-12-01T09:50:23.443 回答