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互换了。至于怎么工作,且听下回分解。
  • 相关阅读:
    DNN SEO专题 (收集)
    DataTable或者DataSet匯出Excel
    用C#制作PDF文件全攻略(转)
    BlogEngine资料收集
    DNN架构解析(收集)
    Community Server:快速找到需要修改的文件[技巧]
    通用的分页存储过程
    DataTable/DataSet汇出Excel
    百试不爽的30条职场经验(转)
    等宽字体
  • 原文地址:https://www.cnblogs.com/zzrblog/p/6553957.html
Copyright © 2011-2022 走看看