此方法基本上适用于所有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度,拍照正常的问题的更多相关文章

  1. JS 解决 IOS 中拍照图片预览旋转 90度 BUG

    上篇博文[ Js利用Canvas实现图片压缩 ]中做了图片压缩上传,但是在IOS真机测试的时候,发现图片预览的时候自动逆时针旋转了90度.对于这个bug,我完全不知道问题出在哪里,接下来就是面向百度编 ...

  2. Recovery和Charger模式下屏幕旋转180度

    转自:http://www.etwiki.cn/android/1267.html 如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度 解决方法: 1.在boo ...

  3. Recovery和Charger模式下屏幕旋转180度[转]

    如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度 解决方法: 1.在bootable\recovery\minui\Graphics.c 文件找到gr_fli ...

  4. MUI 图片上传剪切预览,可选(拍照+系统相册)

    整合网上的例子..麻蛋.没跑通..没办法.自己就拿他们的例子完善了一下..已经可以使用了! 准备工作: 这几个文件要引入.特别是JS 文件!!! <link href="../css/ ...

  5. spark第三篇:Cluster Mode Overview 集群模式预览

    Spark applications run as independent sets of processes on a cluster, coordinated by the SparkContex ...

  6. Android 使用 Camera2 完成预览和拍照

    Android API 21新增了Camera2,这与之前的camera架构完全不同,使用起来也比较复杂,但是功能变得很强大. 在讲解开启预览之前,首先需要了解camera2的几个比较重要的类: Ca ...

  7. android camera 摄像头预览画面变形

    问题:最近在处理一下camera的问题,发现在竖屏时预览图像会变形,而横屏时正常.但有的手机则是横竖屏都会变形. 结果:解决了预览变形的问题,同时支持前后摄像头,预览无变形,拍照生成的jpg照片方向正 ...

  8. 石川es6课程---17、ES7 预览

    石川es6课程---17.ES7 预览 一.总结 一句话总结: 人的价值恒定规律:无论得意还是迷茫之时,你的价值都不靠外界的评判或者你内心的悲喜而决定.而是当时的恒定的.能够提升他只能靠你提升自己的能 ...

  9. 手把手教你用 Spring Boot搭建一个在线文件预览系统!支持ppt、doc等多种类型文件预览

    昨晚搭建环境都花了好一会时间,主要在浪费在了安装 openoffice 这个依赖环境上(Mac 需要手动安装). 然后,又一步一步功能演示,记录,调试项目,并且简单研究了一下核心代码之后才把这篇文章写 ...

随机推荐

  1. Xcode Organizational Identifiers

    操作系统(不管是iOS或是OS X)使用bundle标识去唯一标识你的应用.Bundle标识由一个组织id和你App的名字组成. 一般的,组织id是你域名的反转.如果你的域名是example.com那 ...

  2. x264源代码简单分析:x264_slice_write()

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  3. java之IO流详解(二)

    好了,昨天讲了字节流,现在我们就来讲字符流吧... 字符流可以这样理解,字符流 = 字节流 + 编码表,目的是为了更好的操作中文字符(注:字符流只可以可以操作字符类型的文件,不能操作影音图像文件,要操 ...

  4. iOS9中关于地址簿ABAddressBookXXX之类方法被废弃的解决

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在iOS9的SDK中我们会发现原来地址簿权限查询,获取以及创建 ...

  5. Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期

    请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52349221 前言:从本篇开始,将进入Multimedia框架,包含 ...

  6. windows下实现win32俄罗斯方块练手,编程的几点心得

    编程珠玑2阅读笔记: 1.使用c语言性能监视器,完成对代码的调优工作 2.关联数组:  拓扑排序算法,可以用于当存在遮挡的时候决定三维场景的绘制顺序. 3.小型算法中的测试与调试工具 脚手架程序:&l ...

  7. Web开发学习之路--Eclipse+Tomcat+mysql之初体验

    学习了一段时间android,正好要用到android和服务器之间的交互,既然要学习android,那么就涉猎下服务器端的开发了,以前学过php,用thinkphp很快可以搭建起来,但是android ...

  8. (九十七)集成JPush实现远程通知和推送的发送

    上节介绍了通过直接和APNS交互实现推送的方法,较为繁琐,最为重要的是发送推送需要特定的服务端,通过JPush,不仅可以简化客户端的接收,还可以通过控制台或者API实现通知的发送. 首先注册JPush ...

  9. python的operator.itemgetter('click')用于定义获取'click'项的函数

    python的排序参见文章http://blog.csdn.net/longshenlmj/article/details/12747195 这里介绍 import operator模块 operat ...

  10. JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

    JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...