zoukankan      html  css  js  c++  java
  • GPUImage学习笔记

    不定期更新,详情请参阅云笔记

    http://note.youdao.com/noteshare?id=d6562c5aa0741d2bb7436d7890d96ae2

    2017.3.2
    工程里面的app->GLCameraInstaller可以直接使用。欢迎大家学习。
    初步认识GLSurfaceView预览摄像头。然后就出现很多问题:
    第一个问题就是 setRotationCamera 接口的flipVertical, flipHorizontal两个方向的翻转标识,为什么要互换?即以下关键代码:
    private void setRotation(Rotation rotation,
    boolean flipVertical, boolean flipHorizontal) {
    mRotation = rotation;
    //mFlipHorizontal = flipHorizontal;
    //mFlipVertical = flipVertical;
    mFlipVertical = flipHorizontal;
    mFlipHorizontal = flipVertical;
    adjustImageScaling();
    }
    之前复刻的时候,是使用注释的那部分,这样在切换前置摄像头的时候就会上下颠倒。后置没有异常
     
    慢慢回想起Camera的三个方向,摄像头预览观察方向,拍照成像的方向,还是就是预览接口onPreviewFrame的data方向,即原生的每一帧数据的方向
    首先第一个摄像头预览方向是用Camera.setDisplayOrientation方法是设置摄像头预览的方向
    第二个拍照成像的方向,使用的是Camera.Parameters类的setRotation方法
    至于第三个方向,是没有方法设置的,只能是每帧自己处理。
     
    通过以上关联,我查看了代码,发现GPUImage是没有调用以上所说的任何方向的方法。我觉得就是摄像头预览方向这个原因,致使flipVertical, flipHorizontal互换了。至于怎么工作,且听下回分解。
  • 相关阅读:
    Java语法基础
    配置环境变量
    常用Dos命令
    Python 之 进程与进程池的创建和使用
    python之进程间通信
    低级别网络接口-socket的应用和粘包现象
    网络编程之模块的使用
    Python异常类型
    练习题
    python 的re模块与正则表达式
  • 原文地址:https://www.cnblogs.com/zzrblog/p/6553957.html
Copyright © 2011-2022 走看看