Flash 板


LINE

http://langrisser1981.blogspot.com/2008/02/blog-post_9062.html 这我之前做的 你应该是想做像这样的东西没错吧 我当初是用flash写的 老实说如果用director会比较快,因为有现成的外挂可以用,而且速度比较快 flash也行,国外有很多范例可以看 当时我是自己写了一个小小的公式来计算,也有写成元件方便使用 不过原理很重要 我来说说我是怎麽思考的 继续往下之前确认两件事 1.你会用photoshop,或是影像处理,知道什麽叫做混色模式(blending mode) 2.你知道什麽叫做位元运算子(bitwise operator) 不知道的话,你应该永远也做不出来侦测影像的程式...囧rz 首先,你用getPixel() 只能知道颜色 除非你带了一个黑手套,然後在一个白画面前面晃,这样的反差抓颜色才有意义 不然你的程式会误差到一个很可怕的程度 所以我的想法很简单,我要知道“画面的那个地方是有动作的” 也就是前面一个画面,跟目前这个画面,它的差别在哪里 如果有用过photoshop,思考一下,假设现在你有两张图 画面上的背景是黑色,上面都有一个红色的圆 但是一张图的圆在中间偏左,另一张在中间偏右 你要怎麽找出她们重叠的那一块,跟不同的地方 很简单,先把其中一张颜色反转,再跟另一张图作联集运算就可以 我想有用过的人应该都会这招,这招就是我们要做的 换成数学表示,原理就是 首先我先把该点像素的颜色拆开,rgb值都分别拆开 假设该点像素是红色,所以他的rgb值是0xff0000,我们用变数color代表 r=(0xff0000&color)>>16; g=(0x00ff00&color)>>8; b=(0x0000ff&color); 这样你就得到了 r,g,b三个channel的值 这时候你可以把结果先转成灰阶化,但是因为这边我知道我只要抓红色 所以我只取r channel的结果 转灰阶化也不难啦,我都直接这样转 (0.3*r)+(0.6*r)+(0.1*b) 总之最後你会得到一个值,它的范围是0~255...这就是重点 把这个值转成二进位表示 以这个例子为例,画面不是红就是灰 所以这个值如果不是0xff(red channel)不然就是0x00(黑) 我把该值转二进位表示,红色就等於11111111,黑色就等於00000000 你把两个画面的“同一个取样点”都做同样的计算 好了以後 先把其中一个做not运算 假设在上一个画面的时候,这一个取样点是红色 所以取到的值等於11111111,做not(!)运算,结果等於00000000(在此以a代表) ! 11111111 __________ a:00000000 接下来假设这个画面红圈移动开了,所以同样的取样点取到黑色 值等於00000000(在此以b代表) 把a跟b做or(|)运算 a:00000000 b:00000000 |_________ c:00000000 答案会是全黑 同样的情况,我假设这个取样点取到一样是红色 值等於11111111(在此以d代表) a:00000000 d:11111111 |_________ e:11111111 答案会是全白 所以我就是用这个法来判断 白色就代表这个点的像素没有改变过,越黑就代表改变越大 没错,用这个方式还可以知道改变的幅度 既然知道哪个像素被更动了,就知道哪个点发生作用 这样就可以作後续侦测了 当然怎样设取样点,怎样最佳化,这要自己去调整 不过概念是这样没错 说到这边,完... ※ 引述《gargouille (lol)》之铭言: : ※ 引述《yakeilee (嘟嘟啊~台南处处有好人)》之铭言: : : 如果要用Flash中的webcam侦测画面中的颜色区块 : : 是否是要从Bitmap中撷取?? : : 真的不知道要从哪个指令下手编写 : : 之前有大大推荐我要先去看help : : 我看了...只找到侦测activity 事件 : : 拜托大大们指导迷津一下Orz : : 或者是有没有相关教学的书籍或网站可以推荐的?? : : 我看help看到眼睛快脱窗了~还是写不出来>"< : 正好我最近也想做这个相关的题目 : 我还没有什麽成果出来 : 不过我想用的是 : BitmapData.getColorBoundsRect() : 或 : BitmapData.getPixel() : 这两个去做吧 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.169.51.117
1F:推 gargouille:感谢~ 这真实用 03/07 02:38
2F:推 yakeilee:挖~~其实之前我找的资料中就有说过用direct做比较好 03/07 14:20
3F:→ yakeilee:但是後来接触到一位外国学者建议我用FLASH做.... 03/07 14:21
4F:→ yakeilee:因此我才会在这边提出疑问...谢谢你提供这些资讯^^ 好人 03/07 14:21







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP