C语言实现YUV420sp图像剪裁
本文基于标准C语言,利用网上已有的分辨率较大的.yuv图像,进行对应位置的裁剪。
话不多说开始正文
//首先设置被剪裁的对象大小,即你下载的图像分辨率(这里笔者下载的是3840*2060的图像,设置为常量
const int IR_Height = 2060;
const int IR_Width = 3840;
//其次设置你想要的输出分辨率,这里笔者选择了1080*1920
const int IR_Height1 = 1080;
const int IR_Width1 = 1920;
//设置原图Y分量大小(决定亮度的大小)
const int IR_SIZE = IR_Height * IR_Width;
//设置想要的图Y分量大小
const int IR_SIZE1 = IR_Height1 * IR_Width1;
//设置UV分量大小(这里右移两位除以4)
const int UV_SIZE_4K = IR_SIZE >> 2;
//设置UV分量大小(这里右移两位除以4)
const int UV_SIZE_4K1 = IR_SIZE1 >> 2;
//定义建立原图像Y分量的空间以二维数组形式保存
unsigned char(oriY_img)[IR_Width] = (unsigned char()[IR_Width])malloc(sizeof(unsigned char) * IR_SIZE);
//初始化内容为0
memset(oriY_img, 0, IR_SIZE);
/