在jni环境调用libyuv,把手机图像从RGB转成yuv420,旋转270度, 用matlab显示灰度图

转换yuv,把数据用txt 保存下来,但是yuv viewer一直打不开,非常苦恼,调试很多天确认代码没问题,用matlab显示出来,uv分量应该是原图宽高的1/2采样,却不明白为何出现了1/4采样,后来发现图像是480*720的,按照内存地址排放顺序,本来都是U分量结果被拆成了2张图,所以,这个结果应该是正确的

至于为什么软件打不开,应该是yuv图片本身除了数据还具有其他的格式来说明,就像BMP的文件头一样,但是网上没有资料,所以这部分等我有时间再丰富吧!

Uint8 * rgb2gray = malloc(sizeof(char) * (width*height*1.5));
Uint8 * rgb2grayY = malloc(sizeof(char) * (lenghth));
Uint8 * rgb2grayU= malloc(sizeof(char) * (lenghth / 4));
Uint8 * rgb2grayV= malloc(sizeof(char) * (lenghth / 4));
	ARGBToI420(bitmapPixels,	bitmapInfo.stride,
		  rgb2grayY,		bitmapInfo.width,
		  rgb2grayU,		bitmapInfo.width / 2,
		  rgb2grayV,		bitmapInfo.width / 2,
		  bitmapInfo.width, bitmapInfo.height);
memcpy(rgb2gray, rgb2grayY, lenghth);
memcpy(rgb2gray + lenghth, rgb2grayU, lenghth/4);
memcpy(rgb2gray + lenghth*5/4, rgb2grayV, lenghth/4);

在这里插入图片描述

转270度,分别测试的代码,所以和前图不一样了
Uint8 dst2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值