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

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

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

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


这边我打算有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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: openFrameworks是一个开源的跨平台C++开发框架,可帮助开发人员轻松创建屏幕实时、交互式的应用程序,具有良好的可扩展性。而openFrameworks的三维重建模块则是可以基于RGBD传感器不断获取深度图像数据,进而实现逐帧三维重建的功能,从而获取更多的场景信息和三维结构。 通过openFrameworks的三维重建模块,我们可以从一系列二维的图像中,通过计算机算法自动构建出三维场景,实现对物体的直观化呈现和深度分析。openFrameworks三维重建模块具备高度自由化和可定制化的特点,可根据需求对其进行二次开发和优化。而其源代码公开,也为开发者们提供了丰富的学习和交流资源。 openFrameworks三维重建模块对行业中多个领域都有着广泛的应用,例如:建筑、艺术、游戏、虚拟现实等。在建筑领域,开发者可以利用其进行场景重建和室内设计;在艺术领域,它可以用于三维雕塑和手势识别等方面,逐渐扩展出更多的应用场景;在游戏和虚拟现实领域中,三维重建模块可以用于改善游戏场景和角色模型的真实性和质感等等。因此,openFrameworks三维重建模块不仅是一种方便快捷的三维建模方式,它也为行业带来了更多的应用和发展。 ### 回答2: OpenFrameworks是一个开源的C++跨平台编程框架,它的应用覆盖了音频、视频、3D图形、物理、计算机视觉等各种领域。在三维重建方面,OpenFrameworks提供了丰富的三维图形绘制与处理的函数库,可以有效地将二维图像转化为三维图像,使得模型更加真实、具有立体感。 在使用OpenFrameworks进行三维重建时,首先需要得到原始图像数据,可以通过摄像机、激光扫描等设备获取。然后,通过OpenFrameworks提供的三维图形绘制函数,将二维图像转化为三维模型,并进行建模和优化。同时,OpenFrameworks还提供了一些三维可视化工具,可以帮助设计师更加直观地观察和修改模型。 OpenFrameworks在三维重建方面有着广泛的应用。例如,在游戏开发中使用OpenFrameworks可以将游戏场景中的二维元素转化为三维模型,更加真实地呈现游戏效果。在建筑设计中,OpenFrameworks可以通过图像建模技术,将建筑图纸转化为立体模型,帮助设计师更好地审阅和修改设计方案。在科学研究中,通过三维重建技术可以将实验数据进行可视化处理,使得研究人员能够更直观地了解实验结果。 总之,OpenFrameworks 作为一款跨平台的开源C++编程框架,在三维重建方面有着广泛的应用和优势。它使得三维重建更加快捷、简单,有助于设计师和科研人员更好地进行创作和研究。 ### 回答3: openFrameworks是一个开源的跨平台艺术创作工具,它支持C++编程语言和OpenGL图形引擎,可以用于创建实时交互式的多媒体艺术作品,也可以用于科学计算和数据可视化领域。openFrameworks内置了许多丰富的功能库和插件,可以用于处理图像、视频、音频、网络、物理模拟、虚拟现实、增强现实等领域。 三维重建是指通过摄像机或激光扫描等方式获取物体的三维坐标信息,再通过计算机算法将其转换成三维模型形态的过程。在openFrameworks中,可以使用多种开源库和插件来实现三维重建,如OpenCV、PCL、ofx3DModelLoader等,同时也可以结合深度学习、机器视觉等技术来提高重建的精度和效率。 其中,ofx3DModelLoader插件是一个专用于加载和显示三维模型的工具,可以支持多种模型格式,包括.obj、.stl、.3ds、.blend等,同时也支持自定义材质、贴图、光照等效果。使用ofx3DModelLoader可以方便地在openFrameworks中创建、编辑和显示三维模型,为创作出高质量的三维作品提供了有力支持。 总之,openFrameworks是一款功能强大、易于使用的艺术创作工具,可以用于实现多样化的项目,其中包括三维重建,通过openFrameworks的丰富功能库和插件,我们可以将创意变为现实。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值