使用Android进行VR图像处理
介绍 VR或360图像,可以在耳机或在像谷歌街景这样的网站上观看是标准的JPG图像。你可以使用简单的Android图形处理技术,通过单独的移动设备或内部运行Android操作系统的360摄像头/手机来修改360幅图像,可以拍摄或拼接360幅图像。 背景 以下是同一幅图像的三幅图。图像都保存为JPG文件。 左边的图像是等矩形模式。这是一个扁平的球形视图。右边的图像是双鱼眼。这是由一个特殊的360相机的两个鱼眼镜头制成的。 当在谷歌Photos、谷歌Maps、Facebook、谷歌Streetview或Flickr等网站上看到等矩形图像时,它将以360或“VR”图像的形式出现。 这些图像也可以在耳机内部观看。 转动你的头将允许你改变图像的观点。这是从Oculus耳机内部的视图。 使用的代码 为了省去将360张图片拼接在一起的麻烦,也不需要花钱买一个专门的360摄像头,我把360张图片样本放在一起,并加载到一个Android模拟器中。 步骤 将无摄像头模板Fork到您自己的私有GitHub repo中——https://github.com/codetricity/no camera-template。克隆您的私有回购到您的本地计算机,并在Android Studio中打开。在Android Studio工具→AVD管理器下,使用以下资源创建AVD: 3GB ram屏幕大小:5 "屏幕分辨率:720x1028系统映像:Nougat 7.1 x86 在Android Studio中打开无摄像头模板。按下运行在Android Studio。进入模拟器的Android app设置,启用存储权限: 在app模拟器上按下“Shutter”键: 如果您的应用程序权限设置正确,您将看到理光THETA图像出现在模拟器屏幕上。如果图像没有出现,请重新检查步骤6。 用adb shell登录AVD,在/sdcard/DCIM/100RICOH/查看文件: 按“Process”测试图像处理: 验证处理文件出现在AVD。把你自己的图像处理代码放到processImage(String thetaPicturePath)方法中,第144行: 挑战1:图像大小 当前的示例代码保存了一个宽400px、高200px的图像。代码在方法getBitmap()中。将其更改为不同的大小。设置为800px * 400px。 挑战#2:改变图像压缩 当前的样本,转换JPEG到PNG格式,并设置质量为50 / 100。你要改变两件事: 修改代码,使其保存的图像,以WEBP格式降低质量25。这将使文件更小。 的兴趣点 该应用程序减少理光THETA图像大小从10.7MB到0.12MB传输通过不稳定的网络。原始图像文件保存在相机中。这个想法是设置一个时间间隔来拍摄1000张照片,每5分钟拍摄一张照片,然后自动传输这些小文件。一个人可以看小的图像,然后决定他们是否想要大的图像。 exiftool对于检查元数据很有用。 元数据 在本例中,将从图像中删除元数据。特别地,ProjectionType没有设置为等矩形。您可以使用exiftool添加元数据以进行测试。 一旦你将ProjectionType设置为等矩形,你就可以在Facebook等360个应用程序中看到图片。请注意,图像的分辨率有意降低,以减少文件大小传输通过不稳定的蜂窝网络在偏远地区。 下一个步骤 你可以在这里获得额外的360 JPG图像和360 MP4视频(需要免费注册)。或者,在Flckr或其他图片共享网站上搜索360张图片或等矩形图片。新的360相机可以存储DNG或RAW格式的图像,其中包含了更多有助于图像处理的信息。免费示例DNG双鱼眼图像在这里(不需要登录)。 历史 2019年6月26日:初版 本文转载于:http://www.diyabc.com/frontweb/news30514.html
使用Android进行VR图像处理的更多相关文章
- 【Android开发VR实战】二.播放360°全景视频
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发 ...
- 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...
- android图像与图像处理系列(一、Bitmap和BitmapFactory)
1.Drawable对象 Android应用添加了Drawabe资源之后,Android SDK会为这份资源文件在R清单文件中创建一个索引项:R.drawable.file_name,接着我们可以在x ...
- [Android] 随时拍图像处理部分总结及源码分享
http://blog.csdn.net/eastmount/article/details/45492065#comments [Android] 图像各种处理系列文章合集 http://blog. ...
- Android开发之图像处理那点事——滤镜
在Android开发中,一般对图像的处理就是Bitmap(位图),它包含了图像的全部数据,即点阵和颜色值,点阵就是包含像素点的矩阵,而颜色值就是ARGB,分别代表透明.红色.绿色.蓝色通道,它们共同决 ...
- 掘金 Android 文章精选合集
掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - A ...
- Android中将Bitmap对象以PNG格式保存在内部存储中
在Android中进行图像处理的任务时,有时我们希望将处理后的结果以图像文件的格式保存在内部存储空间中,本文以此为目的,介绍将Bitmap对象的数据以PNG格式保存下来的方法. 1.添加权限 由于是对 ...
- android sdk api结构解析
一.系统级:android.accounts android.app 1.OS 相关 android.os android.os.storage ...
- android学习日记09--BitMap操作
Bitmap android里的图像处理重要的类,支持jpg.png.bmp等格式的图像,BitmapDrawable是封装Bitmap的一个对象,Bitmap实现在android.graphics包 ...
随机推荐
- Application.LoadLevel
Unity在场景切换之间清理下内存 http://www.cnblogs.com/dongz888/p/4920714.html
- 【学习中】Fitness Schedule
章节 内容 签到 第1周:步伐 √第1课(34分钟) 跑步1分钟 行走2分钟 共做8次 4月24日 √第2课(28分钟) 跑步1分钟 行走2分钟 共做6次 4月27日 √第3课(31分钟) 跑步1分钟 ...
- Activiti7 提交任务
package com.itheima.activiti; import org.activiti.engine.ProcessEngine; import org.activiti.engine.P ...
- Zabbix 5.0 LTS版本的安装小结
Zabbix 5.0 LTS版本的安装小结 1:准备Zabbix的服务器. 这里可能需要一台或多台服务器,视需求和资源而定.也可以将Zabbix_Server.MySQL.Zabbix Web等安 ...
- 获取JSO字符串的key和value值
import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.HashMap; import java. ...
- 从头看看Tomcat启动Spring容器的原理
通过带注解Spring Boot可以启动一个web容器,并初始化bean容器.那么Tomcat启动并初始化spring容器的原理是怎样的? Tomcat启动web程序时会创建一对父子容器(图1): 有 ...
- oracle之二实例与数据库
实例与数据库 1.Oracle 网络架构及应用环境 看PPT,Oracle结构的基本单元.术语 2.Oracle 体系结构 1)oracle server :database + instanc ...
- git远程仓库创建及代码提交
git仓库创建:1. mkdir project-repertory2. cd project-repertory3. git init --bare 此时,git仓库已成功创建. 本地要提交的代码在 ...
- Nginx反代MogileFS集群
上一篇博文我们主要聊了下分布式文件系统MogileFS的组件以及部署使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13677279.html:今天我们主要 ...
- python:一切皆对象
学过java语言的童鞋都知道,java是一门面向对象语言,其基本思想就是一切皆对象.Python也是一样的,甚至Python将面向对象思想贯彻地更加彻底,因为在Python中,class本身是一个 ...