nv12裁剪

/*
函数功能:
    通过操作像素对NV12格式的一帧图片进行剪切  https://blog.csdn.net/yuanwuwei/article/details/85339071
 
*/
int rkNV12_cut_nv12(unsigned char * srcImage, int srcW, int srcH, 
                   unsigned char *destImage, int dstw, int dsth){
 
    int dst_size = dstw * dsth; // 新分辨率像素总数 
    int src_size = srcW * srcH; // 旧分辨率像素总数
    int y_dst_size = dst_size;    // Y 分量总数 = 总数
    int i = 0; //表示新分辨率 像素 个数
    int j = 0; //表示旧分辨率 像素 个数
    int line_n = 0; // 表示此时的行数
    int exce_W = srcW - dstw; // 图片对于的像素宽度
 
    //剪切Y分量
 
    line_n = dsth ;
            
    for(i =0; i < line_n; i++ ){        
        memcpy(&(destImage[i*dstw]), (srcImage + i*srcW ),dstw);
    }    
 
    //剪切UV分量
    for(i =0; i < line_n/2; i++ ){        
        memcpy(&(destImage[i*dstw + dst_size]), (srcImage + i*srcW + src_size),dstw);
    } 
    return 0;
}

 

posted on 2024-05-20 15:54  邗影  阅读(60)  评论(0编辑  收藏  举报

导航