YUV420SP图像旋转算法
来源:互联网 发布:java中的finalize方法 编辑:程序博客网 时间:2024/05/17 01:50
private static void yuv420spRotate90(byte[] des, byte[] src, int width, int height) { int wh = width * height; int k = 0; for(int i = 0; i < width; i++) { for(int j = height - 1; j >= 0; j--) { des[k] = src[width * j + i]; k++; } } for(int i = 0; i < width; i += 2) { for(int j = height / 2 - 1; j >= 0; j--) { des[k] = src[wh+ width * j + i]; des[k+1] = src[wh + width * j + i + 1]; k+=2; } } }private static void YUV420spRotate180(byte[] des,byte[] src,int width,int height) { int n = 0; int uh = height >> 1; int wh = width * height; //copy y for(int j = height - 1; j >= 0; j--) { for(int i = width - 1; i >= 0; i--) { des[n++] = src[width * j + i]; } } for(int j = uh - 1;j >= 0; j--) { for(int i = width - 1; i > 0; i -= 2) { des[n] = src[wh + width * j + i - 1]; des[n + 1] = src[wh + width * j + i]; n += 2; } } }private static void YUV420spRotate270(byte[] des,byte[] src,int width,int height) { int n = 0; int uvHeight = height >> 1; int wh = width * height; //copy y for(int j = width - 1; j >= 0; j--) { for(int i = 0; i < height;i++) { des[n++] = src[width * i + j]; } } for(int j = width - 1; j > 0;j -= 2) { for(int i = 0; i < uvHeight; i++) { des[n++] = src[wh + width * i + j - 1]; des[n++] = src[wh + width * i + j]; } } }
0 0
- YUV420SP图像旋转算法
- yuv420sp旋转90度
- yuv420sp to rgba 算法
- 图像旋转算法
- 图像旋转算法
- 图像旋转算法原理
- OpenCV图像旋转算法
- 图像旋转算法原理
- YUV420SP
- 图像旋转算法原理-- 旋转矩阵
- 图像旋转算法-向左旋转90度
- 图像旋转算法原理-- 旋转矩阵
- 图像旋转算法原理-- 旋转矩阵
- 图像旋转算法与实现
- 图像旋转+二线性插值算法
- 图像旋转算法与实现
- 图像旋转算法的实现
- 图像旋转算法与实现
- Facebook Hacker Cup 2015 Round 1--Homework(筛选法求素数)
- 编写一个函数实现n^k,使用递归实现
- C++书架
- quartz(定时器)的使用
- 邂逅式APP创业暗流涌动:是机会还是陷阱?
- YUV420SP图像旋转算法
- 省赛选拔第二场
- C#网络编程系列文章(一)之Socket实现异步TCP服务器
- Axis2 -获取与安装
- Windows 7 虚拟串口 VSPD 6
- 用户级线程和内核级线程
- 《鸟哥的Linux私房菜》读书笔记9——文件系统错误与硬盘坏轨的处理
- 当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程
- JVM基础知识与配置