0

我需要使用 Adob​​e Flash、actionscript 3 来跟踪颜色。我想使用例如笔记本电脑网络摄像头看到的红色来控制鼠标指针。做这个的最好方式是什么?flash 是否有特殊功能来确定指定的像素颜色是否在某个范围内,例如 (~red)。我听说过,getColorBoundsRect()但我不明白如何使用它以及它是否适合我的需要。

我将有多个颜色标记 - 绿色和红色,也许还有蓝色。

怎么可能这样做?

4

2 回答 2

0

通常最好根据色调转换为 HSB 颜色空间和阈值,并具有可配置的容差。

看看Jean-Philippe 的 ChromaTracker 库

此外,您可能会发现Didier 的 RGB Wheel Tracker很有趣。

于 2014-03-20T14:58:17.567 回答
0

我相信解决您的问题的最佳方法是从网络摄像头拍照并从中制作 bitmapData 对象。然后定义您要查找的颜色的 uint 并检查每个像素的色差。您可以通过调用 getPixel(x,y) 从位图数据中获取像素颜色。像这样分别比较每个通道

var red:uint = ((c >> 16) & 0xFF);
var green:uint = ((c >> 8) & 0xFF);
var blue:uint = (c & 0xFF);

然后计算差异总和并在您接受颜色匹配时定义一些阈值。

于 2014-03-14T21:36:37.113 回答