使用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包 ...
随机推荐
- Django:给requests发送请求功能 套一层衣服。
个人的疑问
- HDU-Tick and Tick
The three hands of the clock are rotating every second and meeting each other many times everyday. F ...
- 用Python实现十大经典排序算法-插入、选择、快速、冒泡、归并等
本文来用图文的方式详细讲解了Python十大经典排序算法 —— 插入排序.选择排序.快速排序.冒泡排序.归并排序.希尔排序.插入排序.桶排序.基数排序.计数排序算法,想要学习的你们,继续阅读下去吧,如 ...
- SpringBoot—整合log4j2入门和log4j2.xml配置详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...
- Agumaster添加股票日交易爬虫画面
- 同样是logback1.11,更换了log配置后,无论是否有线程持续不断写入log文件,log文件会按设定以日期序号轮换
上次发现了logback1.11的一个bug,即有线程持续写入log,则log文件不会按设定模式进行轮换. 但发现同样采用logback1.11的另外一个工程,它的日志文件就没有错误,于是参照其配置文 ...
- vps+v_2_ray+proxychains
电脑系统换到Linux快半年了,之前一直没有解决的问题是怎么上google,毕竟有些东西还是google上好找一点.最近不想复习,没想到自己成功搭了个梯子,着实把惊喜了我一把.下面记录一下过程. 首先 ...
- TIKTOK 美国制裁
今天在B站上看了沈教授和李自然说关于TIKTOK对于美国的声明采取的做法的一些看法.其实对于他们的看法,我觉得没有对错之分.正像两个新发的观点,在没有得到历史的验证前,谁也不会承认谁错了.更多的是两个 ...
- 5.AVStream和AVCodecParameters
AVStream和AVCodecParameters 说明: AVStream 结构表示当前媒体流的上下文,着重于所有媒体流共有的属性(并且是在程序运行时才能确定其值)和关联其他结构的字段. 其中co ...
- javascript事件环微任务和宏任务队列原理
哈喽!大家好!我是木瓜太香,我又来嘞,今天来说说前端面试中经常别问到的 JS 事件环问题. JS 事件环 JS 程序的运行是离不开事件环机制的,这个机制保证在发生某些事情的时候我们有机会执行一个我们事 ...