OV5640全景模式预览倒180度,拍照正常的问题
来源:互联网 发布:js作用域和this关键字 编辑:程序博客网 时间:2024/05/17 03:06
此方法基本上适用于所有android平台上全景模式预览倒180度,拍照正常的问题。
首先说明的是,影响camera方向的有三个地方,分别是系统方向,内核camera方向和驱动镜像。全景模式预览只跟系统方向和驱动镜像有关,一般情况下我们不希望去更改系统方向,而是去修改驱动镜像的方向,来调整全景模式的预览方向。而全景模式的拍照方向跟全景模式的预览方向没有任何关系,全景拍照的方向跟普通的拍照方向保持一致。
下面针对具体问题来进行详细说明。
1.OV5640控制上下倒180度的寄存器是
驱动代码里面默认的是0x41,即0100 0001,Bit7~3是控制模式的,不需要动它,Bit2控制的是ISP(Image Signal Processor影视处理,无论数码相机、摄像机或者摄像手机,其影像数据从前端感应后,皆须经过ASP(Analog Signal Processing)、ADC(Analog-Digital Converter)、前期影像处理(Pre-ISP)与后端影像处理(Post-ISP)四个阶段后,影像数据才能最终呈现于终端设备上)上下颠倒的,BIT1控制的是Sensor的上下颠倒。这个上下颠倒可能就需要不断的尝试了,总共有0x43和0x47,注意在驱动中可能有多处涉及到0x3820,但是对于全景模式的预览,我们只需要处理的初始化数组static struct reginfo sensor_init_data中最后一组0x3820的值即可,我这边改成0x47后,全景模式预览就正常了,但是拍照还是倒的,这个没关系,前面也说了跟普通拍照有关。
接下来就是通过调试kernel内核camera的方向来调整camera的预览以及拍照的方向了,这个好办,只说明一点。当我们点击camera应用程序图标进入camera时,出现的预览画面走的流程也是sensor_init_data数组,但是当你点击拍照按钮后,有时会发现,照片拍完后预览的方向又倒了180度,这个是因为拍照后走的流程跟第一次进入camera预览调用的数组不一样了,而是跟具体的分辨率有关了,比如800X600走的是一个数组,1024x720走的又是一个数组,跟camera里面照片像素是相关联的,这个时候还应该来修改驱动代码。找到相应分辨率下对应的数组名称,然后将所有0x3820的值更改为0x47,跟全景调试的结果保持一致。
1.OV5640控制左右镜像的寄存器是:
驱动代码里面默认的是0x07,即0000 0111,此时水平没有镜像效果的。这里我们可以不管Bit7~Bit3,只留意低三位。Bit0 :Horizontal binning enable是个使能控制位,一般需要为高的,接下来就是0011,0101和0001三组数值了,一个一个尝试吧,最后发现0001是可以产生镜像效果的,及0x3821取值0x01即可,接下来的操作就是跟1中的操作一样,替换所有分辨率下对应数组里面的0x3821寄存器的值为0x01即可。
此致,问题得到了完美的解决。
- OV5640全景模式预览倒180度,拍照正常的问题
- OV5640全景模式预览倒180度,拍照正常的问题
- 水晶报表不能正常预览的问题
- camera全景模式预览方向异常
- 解决ov5640困扰好久的问题
- 照相机预览、拍照以及适配问题的完美解决
- 如何使全景模式拍照成功率增加,降低内存的消耗。
- A20 camera预览图像正常,拍照图像变灰蓝
- 基于Threejs的360全景图预览
- 基于Three.js的360X180度全景图预览插件
- android 部分手机拍照后在imageView中显示预览图片被旋转的问题
- 360X180度全景图预览插件Photo Sphere Viewer
- 移动端上传图片 支持图片预览、压缩、大图分片压缩、压缩后上传 解决了IOS竖屏拍照旋转90度的问题
- MVP模式的Android 调用系统拍照,相册,剪裁,适配到7.0,修复拍照图片旋转问题
- Unity做360度全景预览,效果类似pano2vr导出的效果或720云做的效果
- MT6575 平板模式 camera 预览拉伸的问题
- ckfinder上传图片含中文,预览无法正常显示问题
- USB Camera 预览 拍照
- 黑马程序员_类加载器、内省、JavaBean、BeanUtil学习笔记
- 返回局部变量的问题
- 通过代码让UIAlertView自动消失
- JVM垃圾回收机制
- Java基本开发环境JDK的安装
- OV5640全景模式预览倒180度,拍照正常的问题
- 周期串
- Excel常用电子表格公式大全
- 一个关于sql语句的问题解决,包括:字符串拆分,游标
- cookie模板
- 一篇很全面的freemarker教程
- Java如何每5秒生成一个随机数
- C++学习笔记20140314
- mysql跨库操作速度慢的解决方案