介绍 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图像处理的更多相关文章

  1. 【Android开发VR实战】二.播放360°全景视频

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发 ...

  2. 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...

  3. android图像与图像处理系列(一、Bitmap和BitmapFactory)

    1.Drawable对象 Android应用添加了Drawabe资源之后,Android SDK会为这份资源文件在R清单文件中创建一个索引项:R.drawable.file_name,接着我们可以在x ...

  4. [Android] 随时拍图像处理部分总结及源码分享

    http://blog.csdn.net/eastmount/article/details/45492065#comments [Android] 图像各种处理系列文章合集 http://blog. ...

  5. Android开发之图像处理那点事——滤镜

    在Android开发中,一般对图像的处理就是Bitmap(位图),它包含了图像的全部数据,即点阵和颜色值,点阵就是包含像素点的矩阵,而颜色值就是ARGB,分别代表透明.红色.绿色.蓝色通道,它们共同决 ...

  6. 掘金 Android 文章精选合集

    掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - A ...

  7. Android中将Bitmap对象以PNG格式保存在内部存储中

    在Android中进行图像处理的任务时,有时我们希望将处理后的结果以图像文件的格式保存在内部存储空间中,本文以此为目的,介绍将Bitmap对象的数据以PNG格式保存下来的方法. 1.添加权限 由于是对 ...

  8. android sdk api结构解析

    一.系统级:android.accounts android.app     1.OS 相关         android.os         android.os.storage         ...

  9. android学习日记09--BitMap操作

    Bitmap android里的图像处理重要的类,支持jpg.png.bmp等格式的图像,BitmapDrawable是封装Bitmap的一个对象,Bitmap实现在android.graphics包 ...

随机推荐

  1. Java实现IO通信(服务器篇)

    Java实现IO通信(服务器篇) 如何利用java实现我们的通信呢?首先我们了解一下什么是通信?通信的机制是怎样的? 首先来讨论一下什么是通信?通信,指人与人或人与自然之间通过某种行为或媒介进行的信息 ...

  2. Namomo Cockfight Round 5

    AC代码 A. Number 假设\(n_i\)为十进制数\(n\)的第\(i\)位上的数字,那么\(\max_{i}n_i\)即为答案. B. Mod 用BFS的方法计算可以以\(O(p)\)的复杂 ...

  3. java实现zip文件的解压

    使用到的包 org.apache.commons 下载文件 url:文件所在地址需要是http:// filePath:将下载的文件保存的路径 public static void getDownlo ...

  4. leetcode刷题-57插入区间

    题目 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入:intervals = ...

  5. 别再眼高手低了! 这些Linq方法都清楚地掌握了吗?

    不要再眼高手低了,这些Enumerable之常见Linq扩展方法都清楚掌握了吗?其实这是对我自己来说的! 例如:一个人这个技术掌握了一点那个技术也懂一点,其他的好像也了解一些,感觉自己啥都会一点,又觉 ...

  6. mysql主从模式部署

    1.下载tar.gz格式的安装包 下载地址https://dev.mysql.com/downloads/mysql/ 2.解压 tar -zvxf mysql-5.7.19-linux-glibc2 ...

  7. 关于java基础_方法的简单习题

    package day05; import java.util.Arrays; /** * 方法作业 * @author ASUS * */ public class Demo6 { /* * 1.定 ...

  8. 将lua编译进nginx

    1.先安装lua-jit,网上说也可以下载lua,不过lua-jit效率比较高,地址:http://luajit.org/download.html我下的是2.0.3版本的下载解压后,直接make & ...

  9. 首发!Alibaba内部:Spring源码培训课件笔记曝光!

    本文包含的内容 Spring占有的市场 阅读源码的重要性 阅读源码困难度 课件笔记的主要内容 Spring占有的市场 先来简单说一下现在各个企业常用并与Spring相关的: ssh = spring ...

  10. 深度长文整理-Redis进阶

    目录 一.基础 二.为什么Redis是单线程的? 三.为什么单线程这么快? 四.select.poll.epoll 五.Redis的事物 六.Redis的监控 七.Redis的配置文件 八.Redis ...