YUV420SP图像旋转算法
2015-03-14 13:28
288 查看
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 = 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]; } } }
相关文章推荐
- YUV420图像旋转90算法的优化
- YUV420图像旋转90算法的优化
- 每周总结20130814——Android NDK环境的搭建和使用,YUV420SP格式图像的处理
- PhotoShop算法实现--图像旋转(十九)
- 图像处理之(24位)BMP旋转以及镜像算法
- 图像处理之图像快速旋转算法
- YUV图像实时去雾算法的优化与改进
- 图像算法研究---一种简单的YUV转RGB的优化算法(2)
- 图像算法研究---索引图像旋转缩放锯齿问题
- 【初级算法】11.旋转图像
- 图像几何变换(缩放、旋转)中的插值算法
- matlab中简单的图像旋转算法
- 基于DSP的图像旋转算法数据调度策略
- 图像旋转算法
- 每日算法37:Rotate Image (图像旋转)
- 数字图像处理领域算法之图像旋转
- 图像旋转算法-向左旋转90度
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
- 再写图像旋转算法
- 图像旋转算法与实现