Actionscript 3网络摄像头颜色跟踪

时间:2014-03-14 20:58:02

标签: flash actionscript webcam tracking color-tracking

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

我会有多个颜色标记 - 绿色和红色,也可能是蓝色。

怎么可能这样做?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

查看Jean-Philippe's ChromaTracker library

另外,您可能会发现Didier's RGB Wheel Tracker很有趣。