前言

在图像处理领域,RGB格式是经常使用的一种格式,比如:Android应用中展示一张Bitmap、人工智能识别领域识别一张图片等等。
RGB格式指的是每个像素点是由RGB组成的,同时它的排列方式是R G B交替出现的:

  • RGBRGBRGB…

YUV-I420格式是YUV格式的一种,使用的时候,经常是作为NV21格式转RGB格式的一种中间产物而出现。

JAVA代码

public static int i4202Bytes2RgbBytes(byte[] i420Bytes, byte[] rgbBytes, int width, int height) {int yIndex, uIndex, vIndex;int y, u, v, r, g, b;for (int j = 0; j < height; j++) {for (int i = 0; i < width; i++) {yIndex = j * width + i;uIndex = j / 2 * (width / 2) + i / 2 + (width * height);vIndex = j / 2 * (width / 2) + i / 2 + (width * height)+ ((width / 2) * (height / 2));y = i420Bytes[yIndex] & 0xFF;u = i420Bytes[uIndex] & 0xFF;v = i420Bytes[vIndex] & 0xFF;r = y + ((360 * (v - 128)) >> 8);g = y - (((88 * (u - 128) + 184 * (v - 128))) >> 8);b = y + ((455 * (u - 128)) >> 8);rgbBytes[(j * width + i) * 3]= (byte) (Math.max(Math.min(r, 255), 0));rgbBytes[(j * width + i) * 3 + 1]= (byte) (Math.max(Math.min(g, 255), 0));rgbBytes[(j * width + i) * 3 + 2]= (byte) (Math.max(Math.min(b, 255), 0));}}return 0;
}

觉得有用的话,可以给我点奖励哦!(微信)

JAVA语言,YUV-I420格式转RGB格式,NV21格式转RGB格式的一种中间过程相关推荐

  1. Java语言基础详细讲解

    就像人与人之间交流使用的语言需要遵循一定的语法规则一样,Java语言也离不开特定语法的支持,如基本语法.数据类型.变量.常量.运算符与表达式.类型转换和输入输出等,只不过这些语法要比日常生活中语言的语 ...

  2. RGB与YUV转换以及存储格式(YIQ)(信号扫描线)(内插补点算法)(紧缩格式(packed formats))(平面格式(planar formats))

    文章目录 色彩空间与色彩模型 色彩空间 色彩模型 不同色彩空间的比较 1.RGB(采集与显示) 2. YUV YCbCr的两种常用格式 1)ITU-R BT.601 conversion 2)JPEG ...

  3. java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...

    本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...

  4. OFD文件转换成PDF格式,Java语言实现

    OFD文件转换成PDF格式,Java语言实现 我个人的思路大致是这样的.首先在指定路径创建一个文件夹,然后每次要转换的时候都把OFD文件统一放到指定的文件夹内进行转换.这样写代码的时候只需要循环遍历一 ...

  5. yuv格式转换是那个组织定义的_YUV格式

    在前几篇介绍了OpenGL几种2D效果(旋转.平移.缩放.滤镜)后可以看到,GL图像颜色空间是用R.G.B.A,也就是红.绿.蓝 加一个透明度通道来表示的.比如,gl_FragColor 通常在取值的 ...

  6. java rgb转yuv_总结各种RGB转YUV的转换公式

    最近在学习视频的颜色空间转换,由于摄像机拍出来的视频很多都是用YUV格式保存的,而颜色空间的转换必须在RGB颜色模型上才能完成,所以第一步自然就是将YUV颜色模型转成RGB颜色模型.在网上查到了许多的 ...

  7. Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片、相互转换

    Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片.相互转换 目录 numpy中的array格式数据切片与pandas中的dataframe ...

  8. java打开文件(Windows exe,应用文件exe,以及其他任何格式的文件)

    转载自   java打开文件(Windows exe,应用文件exe,以及其他任何格式的文件) 使用java代码打开任何格式的文件 public static void main(String[] a ...

  9. 在Java里怎将字节数转换为我们可以读懂的格式?

    问题:在Java里怎将字节数转换为我们可以读懂的格式? 在Java里怎将字节数转换为我们可以读懂的格式 像1024应该变成"1 Kb",而1024*1024应该变成"1 ...

  10. java使用poi读取存储excel表格,包括xls和xlsx格式

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用poi读取存储excel表格,包括xls和xlsx格式. 需要导入的包 poi-3.14.jar poi-ooxml-3.14.jar ...

最新文章

  1. 中国工业节能减排产业项目盈利模式及投资风险预警报告2021-2027年
  2. python商务图表_Excel职场商务图表高效制作
  3. BOM的window对象的属性及其方法
  4. 利用 pywin32 操作 excel
  5. Qt编写自定义控件及插件的使用
  6. [GCC for C]编译选项---IDE掩盖下的天空
  7. ajax preview,In jQuery, using ajaxSend to preview the url built
  8. 编写高效的C++程序方法之使用对象池
  9. eclipse sdk manager无法更新
  10. 来看看你更适合哪一种Ubuntu
  11. java 获取保存存储路径配置文件
  12. java求阶乘不内存溢出_java - Java阶乘GUI - 堆栈内存溢出
  13. OSPF路由聚合(学习笔记+实验验证)
  14. TI FMCW毫米波雷达基础(2)——测速原理
  15. mysql密码和权限配置
  16. 太阳高度角方位角计算
  17. cmos电路多余输入端能否悬空_【技术分享】CMOS集成电路中多余输入端为何不能悬空?...
  18. 李彦宏能否避免今年两大必要性错误?
  19. vue脚手架 使用npm run dev 遇到的错误问题
  20. 自助饮品消费系统---------(初学者)

热门文章

  1. 在VMware虚拟机中安装RHEL7
  2. Android 阿里云推送集成指南
  3. 迪普交换机恢复出厂设置_迪普产品配置文档-基础篇(2012-11-05).pdf
  4. 【MATLAB生信分析】MATLAB生物信息分析工具箱(一)
  5. NanoMsg框架|NanoMsg的简介
  6. PLSQL 免费下载安装
  7. 当马队遭遇狼群,阿里华为长篇竞合剧基情开幕
  8. 区块链技术入门学习指引
  9. Mysql8.x主从基础同步
  10. 区块链入门教程 。阮一峰