当前位置:编程学习 > wap >>

yuv420的图像怎么纵向拉伸,不转换成其它格式

Android camera yuv420的图像怎么实现纵向拉伸,不转换成其它格式?

新手提问,有源码贴出来感激不尽. --------------------编程问答-------------------- 大侠们,出来救救我,帮忙解决这个问题 --------------------编程问答-------------------- 只需要实现成整数倍拉伸就行了 --------------------编程问答-------------------- 网上找不到相关的,自已写了一段代码,欢迎指正:

private byte[] YuvScaledH(byte[] yuvdata, int sourceWidth, int sourceHeight, int times){
         byte[] scaledYuv=new byte[sourceHeight*sourceWidth*times*3/2]; //仅拉伸H,W不变
         for(int i=0;i<sourceHeight;i+=2){
         int inOffset=i*sourceWidth;
         int outOffset=(i*times*sourceWidth);
         for(int t=0;t<times;t++){
         System.arraycopy(yuvdata, inOffset, scaledYuv, outOffset, sourceWidth*2);
         outOffset+=sourceWidth*2;
         }
         }
         int baseUV=sourceWidth*sourceHeight; //源图UV分量起始点
         for(int i=0;i<sourceHeight/2;i++){
         int inOffset=baseUV+i*sourceWidth;
         int outOffset=(baseUV+i*sourceWidth)*times;
         for(int t=0;t<times;t++){
         System.arraycopy(yuvdata, inOffset, scaledYuv, outOffset, sourceWidth);
         outOffset+=sourceWidth;
         }
         }
         return scaledYuv;
        }
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,