android Camera相关问题及NV12剪裁旋转
private byte[] rotateYUV420Degree90(byte[] data, int imageWidth, int imageHeight) {final byte [] yuv = new byte[previewWidth*previewHeight*3/2];// Rotate the Y lumaint i = 0;for(int x = 0;x < imageWidth;x++){for(int y = imageHeight-1;y >= 0;y--){yuv[i] = data[y*imageWidth+x];i++;}}// Rotate the U and V color componentsi = imageWidth*imageHeight*3/2-1;for(int x = imageWidth-1;x > 0;x=x-2){for(int y = 0;y < imageHeight/2;y++){yuv[i] = data[(imageWidth*imageHeight)+(y*imageWidth)+x];i--;yuv[i] = data[(imageWidth*imageHeight)+(y*imageWidth)+(x-1)];i--;}}return yuv; }private byte[] rotateYUV420Degree180(byte[] data, int imageWidth, int imageHeight) {byte [] yuv = new byte[imageWidth*imageHeight*3/2];int i = 0;int count = 0;for (i = imageWidth * imageHeight - 1; i >= 0; i--) {yuv[count] = data[i];count++;}i = imageWidth * imageHeight * 3 / 2 - 1;for (i = imageWidth * imageHeight * 3 / 2 - 1; i >= imageWidth* imageHeight; i -= 2) {yuv[count++] = data[i - 1];yuv[count++] = data[i];}return yuv; }private byte[] rotateYUV420Degree270(byte[] data, int imageWidth, int imageHeight) {final byte [] yuv = new byte[previewWidth*previewHeight*3/2];int wh = 0;int uvHeight = 0;if(imageWidth != 0 || imageHeight != 0){wh = imageWidth * imageHeight;uvHeight = imageHeight >> 1;//uvHeight = height / 2}//旋转Yint k = 0;for(int i = 0; i < imageWidth; i++) {int nPos = 0;for(int j = 0; j < imageHeight; j++) {yuv[k] = data[nPos + i];k++;nPos += imageWidth;}}for(int i = 0; i < imageWidth; i+=2){int nPos = wh;for(int j = 0; j < uvHeight; j++) {yuv[k] = data[nPos + i];yuv[k + 1] = data[nPos + i + 1];k += 2;nPos += imageWidth;}}
}
public byte[] cropYUV420(byte[] data,int imageW,int imageH,int newImageH){int cropH;int i,j,count,tmp;byte[] yuv = new byte[imageW*newImageH*3/2];cropH = (imageH - newImageH)/2;count = 0;for(j=cropH;j<cropH+newImageH;j++){for(i=0;i<imageW;i++){yuv[count++] = data[j*imageW+i];}}//Cr Cbtmp = imageH+cropH/2;for(j=tmp;j<tmp + newImageH/2;j++){for(i=0;i<imageW;i++){yuv[count++] = data[j*imageW+i];}}return yuv; }
android Camera相关问题及NV12剪裁旋转相关推荐
- Android camera 相关术语(四) 之 变焦和对焦的区别VCM 闭环和开环在硬件上有什么区别
Android camera 相关术语(四) 之 变焦和对焦的区别VCM 闭环和开环在硬件上有什么区别 VCM 闭环马达(即close loop)与开环马达(即open loop)一般有两个硬件上的 ...
- android crop 大图,com.android.camera.action.CROP 实现图片剪裁
APP 中选取图片之后,有时候需要进行剪裁,比如头像. 以下是启动代码. 在我的项目中,传的是 filePath,所以我转了一下,但实际上从相册选择图片后,用 data.getData() 就可获得 ...
- Android Camera了解一下
首发于公众号 Android Camera了解一下 Camera 演进简介 最近在项目中遇到 Camera相关的场景,之前对这块不是很了解,趁机补了一下盲区.Android Camera 相关也是生态 ...
- android camera移动方向_Android Camera开发系列:调整Camera预览方向
有时候我们想根据自己的需要调整下Camera的预览方向,那么是调用哪个API可以达到我们的目的呢? 我们看下下图拍的几张小可爱的照片,分别是正常方向.旋转180度.90度拍的照片. 正常方向 旋转 ...
- Android Camera App
主要从APP层梳理Android Camera 相关的内容,暂时以记账的形式记录. stream imageReader surface BufferQueue 参考文档: BufferQueue 学 ...
- android 骁龙图库解析,Android Camera开发系列:高通平台,How To Expose Aux Camera ?
一.写在前面 本文主要介绍在高通平台上,当设备枚举到的Camera设备数超过2个的时候(我们正常的设备是前后摄2个),上层应用通过CameraManager的getCameraIdList()接口,如 ...
- android camera之nv21旋转
android camera之nv21旋转 这周做的一个android的camera开发,需要获取到视频帧数据,并且需要是nv21格式的byte数组,并且视频帧的图像需要是正方向的.和android相 ...
- Android camera onPreviewFrame 图片旋转问题
Android开发中调用到摄像头camera及截图.通过测试发现,调用前置摄像头的预览图和截图.调用后置摄像头的预览图和截图,参数是不一样的. 调用前置摄像头: camera = Camera. ...
- Android编程中调用Camera时预览画面有旋转问题的解决方法
本文实例讲述了Android编程中调用Camera时预览画面有旋转问题的解决方法.分享给大家供大家参考,具体如下: 在调用Camera写应用的时候,前后摄像头的情况有时候是不一样的.有时候,明明后摄像 ...
最新文章
- insightface face_preprocess
- LeetCode Maximum XOR of Two Numbers in an Array(贪心、字典树)
- java3d创建立方体_Opengl创建几何实体——四棱锥和立方体
- workbook加载文件路径_【Python】文件重命名(按照Excel清单)
- 《零基础》MySQL 数据类型(八)
- windows 远程 登录无操作30分钟后自动退出登录_Mac电脑如何远程Windows10
- 腾讯翻译君在线翻译怎么翻译整个文件_很实用的PDF文档在线翻译工具,整篇PDF翻译一键搞定...
- matlab怎么对语音信号处理,语音信号处理MATLAB程序
- CSR8615蓝牙芯片功能调试入门笔记------ 下
- Antd DatePicker之旬查询(本月上旬、本月中旬、本月下旬)
- 代理服务器没有响应解决方案
- 编译g2o提示错误 error: ‘ScalarBinaryOpTraits’ is not a class template
- tp5子域名index.php,tp5实现绑定子域名,并且根据子域名定义路由规则
- Codeforces Round #657 (Div. 2)B. Dubious Cyrpto
- 异步FIFO的verilog代码实现(包含将满和将空逻辑)
- Chapter3.1.1 python函数小示例
- 啊啊啊~~~~~ Ajax
- html里用js实现随机抽奖,js实现简单随机抽奖的方法
- python爬取今日头条热点新闻事件,Python爬虫实战入门五:获取JS动态内容—爬取今日头条...
- 制作Linux版PE系统
热门文章
- Windows Server 2008 R2之二从介质安装 AD DS
- 开发的一款IDEA电子阅读器功能介绍
- 设计师 VR 成型设计知识收集
- 寻找 时间轴网页设计灵魂
- c++11 多线程编程(三)------ 竞争和互斥锁
- 察看无限网络linux,linux 无线网络调试
- Python玩转简书钻,简述钻是否对文章权重有影响?结果确实有!
- opencv中mean函数耗时_使用OpenCV进行人脸对齐
- linux mysql 查看字符集_Linux中查看和设置MySQL数据库字符集 一
- 笔记本电脑投屏到电视_电脑怎么投屏到电视?掌握这3个方法就够了