Photo Sphere调查小结

去年在网上查了一下Photo Sphere和街景相关的内容,做一下小结。

Photo Sphere是只有Google Camera有的一个功能,其拍摄后会将图片进行处理并保存为jpg,虽然看也能看,但是效果不是很好,且手机上目前没有独立的Viewer,这个jpg里面保存了很多metadata,解析出来看到有


Google Developer上也有相关介绍

主要分为两部分
1. 拍照
Android源码中提供的Camera2项目是独立的相机项目。但是编译后发现

尽管内部有Photo Sphere的一些逻辑,但实际实现都是空的


开源部分仅有拍照、摄像和广角拍摄三个功能。

Github上没有类似的开源项目。
Google查找Photo Sphere,Stack Overflow给的答案都指出Google没有公开Google Camera中使用的算法,而其他一些能做到拍摄街景的app效果都没有Google Camera好且也没有开源。

2. 查看器(Viewer)
Android上面没有找到独立的查看器,谷歌给的信息在:https://developers.google.com/photo-sphere/android/ 
其中主要是给Web用的Javascript,Android上则只有Google Play services提供的两个PanoramaApi,且没有使用的例子和sample,在google上查找也没有人提到这个的使用。
在Github上查找后有一些Viewer项目,但也都只是简单的小项目,且存在各种问题。

其中一个使用了JavaFX:https://github.com/tbutter/jfxpano 
解析并能展示Photo Sphere拍摄的图片(奇怪的是试了4张只有1张能正常显示),可以使用方向键进行视角移动。


另外有一个web的项目:https://github.com/googlemaps/streetsphere 
会生成一个html调用google map的javascript api并传递一些参数来展示图片



可以使用鼠标移动视角。

总体来说自己实现Viewer更现实一点。


### Photo Sphere VR 全景图生成 Photo Sphere VR 是一种基于全景图像的技术,用于创建沉浸式的虚拟现实体验。它通过将一张全景图映射到一个球体表面上实现,用户可以在这个球体内自由旋转视角来观察整个环境。 #### 基本原理 全景图被用来构建一个完整的球面视图[^1]。这种技术的核心在于将二维的全景照片转换为三维空间中的球形投影。为了减少上下边缘的缝合痕迹,通常会采用高质量的全景摄影设备获取原始素材。然而,在实际应用中仍可能存在一定的拼接瑕疵,尤其是在极点区域(顶部和底部)。 #### UniApp 中的应用实例 在UniApp框架下开发时,可以通过引入`photo-sphere-viewer`库及其插件轻松集成全景图功能[^2]: ```javascript import { Viewer as PhotoSphereViewer } from 'photo-sphere-viewer'; import MarkersPlugin from 'photo-sphere-viewer/dist/plugins/markers'; // 加载样式文件 import 'photo-sphere-viewer/dist/photo-sphere-viewer.css'; import 'photo-sphere-viewer/dist/plugins/markers.css'; export default { data() { return { viewer: null, }; }, mounted() { this.viewer = new PhotoSphereViewer({ panorama: '/path/to/image.jpg', // 替换为您的全景图路径 container: document.querySelector('#container'), // 容器ID caption: 'My beautiful landscape', plugins: [ [MarkersPlugin, {}], // 插入标记插件配置项 ], }); } }; ``` 这段代码展示了如何初始化一个基本的全景查看器,并设置了一些基础参数如容器、说明文字以及启用标记插件等功能模块。 #### 功能扩展与操作方法 除了简单的展示外,还可以进一步定制化交互行为。例如调整相机角度或者动态加载不同的场景图片等高级特性都可以借助API完成[^4]: - **rotate**: 调整当前视野方向。 - **setPanorama**: 更改显示的全景图资源。 - **setOptions**: 修改默认选项值以适应特定需求。 这些函数提供了灵活的方式来控制用户的浏览体验并增强应用程序的功能性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值