使用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包 ...
随机推荐
- VuePress初探(一)
原文参考链接 手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunch ...
- docker run <image-id>和 docker start <container-id>
- B - The Staircases (dp)
One curious child has a set of N little bricks. From these bricks he builds different staircases. St ...
- FastDFS+nginx整合模块安装
FastDFS安装 安装gcc编译器 yum -y install gcc automake autoconf libtool make 上传解压两个文件包 libfastcommon是从FastDF ...
- C:获取屏幕输入
代码: #include "stdafx.h" #include "stdio.h" int _tmain(int argc, _TCHAR* argv[]) ...
- [MySQL]如何将大数值带上 元,万,亿 这样的单位?
要解决的问题: 某表某字段用来表示交易金额,不同记录的金额相差很大,有的只有几元几角几分,有的却上亿.如果直接就把数值在页面上展示出来,则可读性不佳.因此我们需要将其单位展示出来,如1.23元,3.4 ...
- Nginx 路由--Location的使用
一. 路由--Location的使用 9.1. Location语法规则 语法规则: location [=|~|~*|^~] /uri/ {… } 首先匹配 =,其次匹配^~,其次是按文件中顺序的正 ...
- flutter driver 集成测试
最近一直断断续续的学习flutter,今天跟大家介绍一下flutter driver测试. flutter测试基础 Flutter的测试遵循Android的测试规范进行了分层. 单元测试:测试单一功能 ...
- 执行./install.sh时报错-bash: ./install.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
百度解释说是因为这个文件在windows下编辑过,windows下每一行的结尾是\n\r, 而linux下每一行结尾是\n,所以只需要删除这个文件中的\r字符就可以了sed -i 's/\r$//' ...
- Python3 学习笔记之 运算符