1.裸眼3D手机从去年开始流行。做为一个卖点或者噱头,为手机的输入输出提供一抹灵动的色彩。裸眼3D可以在二维的手机屏幕上不需要配戴VR眼镜或者谷歌纸盒就能展示三维的世界的效果,一般来说要给用户提供好的体验,需要软件硬件相结合实现。硬件一般需要支持裸眼3D的手机或者普通的手机贴上裸眼3D的膜。

2.目前手机上使用的裸眼3D技术叫柱状透镜技术,也被称为双凸透镜或微柱透镜。它的原理是在液晶显示屏的前面加上一层柱状透镜,使液晶屏的像平面位于透镜的焦平面上,这样在每个柱透镜下面的图像的像素被分成几个子像素,透镜就能以不同的方向投影每个子像素。而双眼从不同的角度观看显示屏,会看到不同的子像素。经过大脑加工,就会形成3D画片。这个的原理和谷歌盒子的原理相似,也许可以说是基本一样,谷歌盒子软件开发时我们会把图片或者视频资源分成左眼和右眼两个不同的画面,两个画面的主要区别是差几列视差朴素,而裸眼3D正是借助3D屏或者3D手机膜把谷歌左右眼的图像按像素分别合在柱状透镜两侧,由于微柱状透镜的对光线折射作用,会使双眼形成不同视觉。不管是3D 屏还是3d膜一般只支持横向观看,同时对观看角度有一定要求,一般视线应该接近垂直屏幕,这是由于柱状透镜一般在手机屏幕上是横向排列,而左右眼像素要形成视差需要一定的宽度,而且左右眼合并会损失差不多一半左右的相素。

3.下面是从别外拷来的柱状透镜示意图。我们会把左右眼的图像合成在柱状透镜两侧。其实普通的平面图像或者视频也可以转为左右眼3D或者裸眼3D,只要把图片分割成两张,留出视差,就可以形成左右眼3D,左右眼3D借助VR眼镜或者谷歌纸盒就能得到3D效果,再把左右眼图像按裸眼3D合成规律合成一张,借助裸眼3D手机就能得到类似3D效果。

4.左右眼3D软件实现,一般需要考虑三点,一是两眼的视差, 二是柱状透镜的间隔,三是屏幕大小。视差不对,形不成3D视觉,柱状透镜间隔决定左右眼像素的间距,一般的密度大概是屏幕像素高的一半,这样一个柱状对应一列左眼一列右眼,均匀分布。三是屏幕大小,合成的图像要和屏幕大小匹配或者小于,要不会因为系统自动缩放而损失像素,从而导致左右眼像素不一致,导致无法形成3D效果。

5.下面是左右眼视觉合成裸眼3D,合成的图片在电脑或者普通手机上看起来有些模糊和重影,这说明合成是正确的,左右眼由于视差的存在,看到的图像会有很小的差别,这些差别按像素列放在同一张图中时,就能明显看出不同,在微柱状透镜折射下,左右眼可以看到不到的像素,从而形成3D视觉效果。

6.附简单实现代码

public Bitmap create3DImg() {//Bitmap bm = BitmapFactory.decodeResource(this.getResources(), R.drawable.bb);Bitmap bm = getBitmapByWidth(R.drawable.bb, 2000, 0);int w = bm.getWidth();int h = bm.getHeight();Bitmap bitmap1 = Bitmap.createBitmap(w/2, h, Bitmap.Config.RGB_565);Canvas canvas = new Canvas(bitmap1);Rect mSrcRect = new Rect(0, 0, w/2, h);Rect mDestRect = new Rect(0, 0, w/2, h);Paint paint = new Paint();paint.setAlpha(80);canvas.drawBitmap(bm, mSrcRect, mDestRect, null);int ww = 1;for (int i = 0; i < (((w / 2)/ww)/2); i++) {Rect mRightSrcRect = new Rect((w / 2)+i*ww*2, 0, (w / 2)+i*ww*2+ww, h);Rect mDestRect2 = new Rect((i+1)*ww*2, 0, (i+1)*ww*2+ww, h);canvas.drawBitmap(bm, mRightSrcRect, mDestRect2, null);}return bitmap1;
}

android手机裸眼3D技术原理和编程实现相关推荐

  1. 简单的裸眼3D技术原理

    3D显示原理 裸眼3D技术叫做"视差屏障技术"或"光屏障技术",该3D技术的原理和偏振式3D较为类似.光屏障式3D产品与既有的LCD液晶工艺兼容,因此在量产性和 ...

  2. 基于android的裸眼3d,午诺裸眼3D原理其实并不复杂

    午诺裸眼3D原理其实并不复杂 其实同样是裸眼3D手机,可能其中含有的技术却大不相同.午诺P8采用的是国内领先3D光学厂商康得新提供的柱状光栅技术,屏幕通过特殊处理给左右眼的图像是不一样的,消费者面对手 ...

  3. 传iPhone8将搭载裸眼3D技术

    "裸眼3D"这一概念并不是第一次出现,早在2015年国产旗舰品牌"PPTV King 7S"手机采用6英寸2K分辨率2.5D曲面屏,裸眼3D"体验主要 ...

  4. 运用计算机声光影像技术,广东裸眼3D技术-360度沉浸式投影,让你满眼尽是星空璀璨...

    广东裸眼3D技术-360度沉浸式投影,让你满眼尽是星空璀璨![凡凯计算机技术]集合舞美.声光.影像等行业先进人才与理念,为客户量身打造立体式.交互式.体验式等多种解决方案. 凡凯小编告诉你什么是偏光式 ...

  5. 裸眼3D手机的技术原理

    实际上,国际厂商,特别是日本厂商早就把裸眼3D的开发提上了日程,并已结有果实,比如说3月20号发售的全球首款夏普3D智能手机夏普SH8158U,以及任天堂3月23发售的Nintendo 3DS都很受时 ...

  6. android+mid播放器,视频:瑞芯微MTK安卓/裸眼3D播放器/MID

    瑞芯微表示,全新发布的3G移动互联网解决方案,基于瑞芯微RK2818新一代解决方案,搭载Android系统,全面支持国际三大3G应用标准:TD-SCDMA.WCDMA.CDMA2000,拥有四大终端产 ...

  7. 黑鲨手机计算机科学技术器,手机秒变3D 黑鲨科技与康得新共推裸眼3D神奇“膜”法...

    2018年10月10日,康得新与黑鲨科技就裸眼3D领域合作在北京签署战略协议,黑鲨科技联合创始人.高级副总裁罗语周,康得新智能显示移动运营平台总裁高峻出席了签约仪式. 据了解,中国高分子材料知名企业康 ...

  8. 裸眼 3D 是什么效果?

    作者:沙因,腾讯 IEG 前端开发工程师 介绍一种裸眼 3D 的实现方式,代码以 web 端为例. 平常我们都是戴着 3D 眼镜才能感受 3D 效果,那裸眼能直接看 3D 么?可以看看下面这个视频: ...

  9. 设计师:裸眼 3D 效果,你们客户端实现很难吗?

    自如-黄进 | 作者 承香墨影 | 编辑 https://juejin.cn/post/6989227733410644005 | 原文 Hi,大家好,这里是承香墨影! 说到裸眼 3D 效果,最先想到 ...

最新文章

  1. linux下安装python3
  2. linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
  3. 在Fedora8上安装MySQL5.0.45的过程
  4. 盘点大厂的那些开源项目 - 小米科技
  5. 不同系统可以用一个数据库服务器吗,同一个数据库 不同服务器吗
  6. 实现机器学习的循序渐进指南X——KMeans
  7. SpringMVC Hello(IDEA)
  8. WidsMob Viewer Pro Mac如何批量调整照片大小及格式
  9. SQL中的字符串函数
  10. 【优化求解】基于matalb改进的遗传算法求解IGA城市交通信号优化问题【含Matlab源码 215期】
  11. 点播的时候出现 “S1-10921” 的错误
  12. 如何查找CAD打印样式文件存储位置?
  13. PS基础操作之图像处理(一)
  14. 批量微信号码过滤程序
  15. 最新仿山楂岛留言源码+公众号吸粉/短视频引流神器
  16. 在线引入 iconfont 特殊图标字体
  17. 华为:鸿蒙 Harmony OS 明年将正式登陆欧洲
  18. java的像素与dpi_对屏幕的理解---分辨率,dpi,ppi,屏幕尺寸,像素 等
  19. 深入浅出Linux操作系统指令与目录结构(二)
  20. 代谢组学资讯,全球爆火的ChatGPT,是如何看待三阴性乳腺癌的?

热门文章

  1. mysql之聚簇索引与非聚簇索引
  2. linux irc工具,构建基于Linux下的IRC服务器和WEBIRC登陆平台
  3. 【Redis】回顾Redis知识点之事务机制
  4. linux源码分析之cpu初始化 kernel/head.s,linux源码分析之cpu初始化
  5. send/sendto和recv/recvfrom各自的区别
  6. Linux下的Curses库的下载与安装
  7. datagridview 单击某个单元格选中一行
  8. Mac之brew安装
  9. H3C/华为网络设备常规命令集
  10. 大数据Hive其实一点都不难,从入坑到放弃?不存在的