现在的位置: 首页 > 综合 > 正文

『openframeworks』动物眼中的你-shader初试

2013年12月06日 ⁄ 综合 ⁄ 共 885字 ⁄ 字号 评论关闭

最近要做一个关于动物眼中的世界的案例,也就演示动物眼中的世界是怎么样的。

考察了一些资料,发现已经有人做过了,看来人类的创意真是无处不在啊。。

先来张它们眼中的世界图谱吧。

这边我打算有of中的shader来实现,其实这个opencv应该也能完成,不过那个我是在不怎么会。

1.马的视野,马中间有个视野盲区,所以,其实就是加个黑条而已。这里没什么好说的。

2.鹰的视野,鹰的视野主要集中在猎物的区域,其他部分则呈现出放射效果。所以这里我简单的用shader模拟了一下。这边做的比较简陋,放射模糊从内到外增加的话效果估计会好很多,这个后面再做修改。

3.蛇的视野,这个我遇到了很大助力,因为蛇的热感应的,而我的程序只能提供摄像头数据,不能得到红外数据,所以这里只能做模拟了。我这里主要是就像素点进行对比。首先温度较高的地方为红色,温度降低时颜色逐步过渡为黄,紫色和蓝色。初步我去人的颜色,即是肉色,然后和每个像素点对比,按差值区分颜色范围。这边效果很差。不知还有没更好的想法。

4.蝙蝠的视野。难道我们的蝙蝠同学是瞎子么,资料里显示蝙蝠主要靠声呐系统来“看”事物,所以我们只要模拟物体的轮廓即可。其实这边用体感做蛮好的,直接根据深度图的变化画出轮廓即可。但是这里我们只能根据图像数据来处理了。原理虽然一样,但效果却是有差别。例如,下面这张图衣服上的格子是不应该有轮廓的,因为他们在同一深度。这边也只能简单模拟一下了。

5.美洲豹等的视野。他们的色带很窄,但是他们在夜间的能力却很强。这边直接去掉RGB中的R和B,即可,没什么难度。

6.鱼的视角。其实就是个鱼眼效果,中间放大想外扩散。我们这里模拟一个圆形的视觉区域,越是在中间的发散的越多,越往外,发散越少。其实这边的发散其实指的是像素偏移,越中间偏移越大。

可能还有其他效果,这个以后再添加吧。

demo地址。源代码等项目完了在上传吧。

参考资料:

http://m.163.com/iphone/software/31qjli.html

http://tech.sina.com.cn/d/2009-01-22/07522771956.shtml

抱歉!评论已关闭.