nv12转rgb「建议收藏」

nv12转rgb「建议收藏」nv12格式nv12转rgb两种格式代码voidNV12_T_RGB(unsignedintwidth,unsignedintheight,unsignedchar*Y,unsignedchar*UV,unsignedchar*rgb){ intr,g,b; inty,u,v; for(inti=0;i<height;i++){ for(intj=0;j<width;j++){ y=

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

nv12 格式

nv12 转 rgb 两种格式

代码

void NV12_T_RGB(unsigned int width, unsigned int height, unsigned char* Y, unsigned char* UV, unsigned char* rgb)
{ 
   
	int r, g, b;
	int y, u, v;
	for (int i = 0; i < height; i++) { 
   
		for (int j = 0; j < width; j++) { 
   
			y = Y[i * width + j];
			u = UV[(i / 2 * width + j / 2 * 2)];
			v = UV[(i / 2 * width + j / 2 * 2) + 1];
			// TRACE("yuv(%d, %d, %d)\n", i * width + j, (i / 2 * width + j / 2 * 2), (i / 2 * width + j / 2 * 2) + 1);
			r = y + 1.4075 * (v-128);  //r
			g = y - 0.344 * (u-128) - 0.714 * (v-128); //g
			b = y + 1.770 * (u-128); //b

			if (r > 255)   r = 255;
			if (g > 255)   g = 255;
			if (b > 255)   b = 255;
			if (r < 0)     r = 0;
			if (g < 0)     g = 0;
			if (b < 0)     b = 0;

			rgb[(i * width + j) * 3 + 0] = (unsigned char)r;
			rgb[(i * width + j) * 3 + 1] = (unsigned char)g;
			rgb[(i * width + j) * 3 + 2] = (unsigned char)b;
		}
	}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189778.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何用纯 CSS 创作条形图,不用任何图表库

    如何用纯 CSS 创作条形图,不用任何图表库

    2021年6月16日
    95
  • ES6 判断对象是否为空「建议收藏」

    ES6 判断对象是否为空「建议收藏」判断对象是否为空最简单的方式就是用ES6的letobj={}if(Object.keys(obj).length==0){ console.log(“对象是空的”)}else{//Object.keys(obj).length可获取对象的长度console.log(“obj的长度:”+Object.keys(obj).length)}…

    2022年5月22日
    442
  • PyCharm激活码永久有效PyCharm2019.3.4激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2019.3.4激活码教程-持续更新,一步到位PyCharm激活码永久有效2019.3.4激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.4成功激活

    2022年6月19日
    67
  • MMC卡驱动分析

    MMC卡驱动分析MMC卡驱动分析 最近花时间研究了一下MMC卡驱动程序,开始在网上找了很多关于MMC卡驱动的分析文章,但大都是在描述各个层,这对于初学者来讲帮助并不大,所以我就打算把自己的理解写下来,希望对大家有用。个人觉得理解LINUX内核当中MMC/SD卡驱动程序构架是学习MMC卡驱动程序的重点,只有理解了它的基本框架或流程才能真正理解一个块设备驱动程序的写法,同时才能真正理

    2022年4月28日
    58
  • pycharmhtml插件_pycharm官方中文插件

    pycharmhtml插件_pycharm官方中文插件一、常用配置一、设置文件字符编码二、设置文件模板三、设置文字大小四、修改行数和方发线五、关闭应用更新二、常用插件RainbowCSV将CSV的不同的列用不同的颜色标出RainbowBrackets将每对匹配的括号都变成彩色的IndentRainbow将索引变成彩色CodeGlance在右边生成代码缩略图MaterialTheme不同风格的主题Chinese(Simplified)LanguagePack中文语言包Ke

    2025年7月8日
    2
  • 什么是TCC?_tc部门是什么意思

    什么是TCC?_tc部门是什么意思假设现在有一个电商系统,里面有一个支付订单的场景,那对一个订单支付之后,我们需要做下面的步骤 更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创建销售出库单通知仓库发货 业务场景有了,现在要更进一步,实现一个TCC分布式事务的效果,也就是说,订单服务-修改订单状态,库存服务-扣减库存,积分服务-增加积分,仓储服务-创建销售出库单,上述这几个步骤,要么一起成功,要么一起失败,必须是一个整体性的事务举个例子,现在订单的状态都修

    2022年4月20日
    234

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号