【问题标题】:Actionscript 3 webcam color trackingActionscript 3 网络摄像头颜色跟踪
【发布时间】:2014-03-14 20:58:01
【问题描述】:
我需要使用 Adobe Flash、actionscript 3 来跟踪颜色。我想使用例如笔记本电脑网络摄像头看到的红色来控制鼠标指针。做这个的最好方式是什么? flash 是否有特殊功能来确定指定的像素颜色是否在某个范围内,例如 (~red)。
我听说过getColorBoundsRect(),但我不明白如何使用它以及它是否适合我的需要。
我将有多个颜色标记 - 绿色和红色,也许还有蓝色。
这怎么可能?
【问题讨论】:
标签:
flash
actionscript
webcam
tracking
color-tracking
【解决方案1】:
我相信解决您的问题的最佳方法是从网络摄像头拍摄照片并从中制作 bitmapData 对象。
然后定义您要查找的颜色的 uint 并检查每个像素的色差。您可以通过调用 getPixel(x,y) 从位图数据中获取像素颜色。
像这样分别比较每个通道
var red:uint = ((c >> 16) & 0xFF);
var green:uint = ((c >> 8) & 0xFF);
var blue:uint = (c & 0xFF);
然后计算差异的总和,并在您接受颜色匹配时定义一些阈值。