工业相机Bayer RG12 packed 数据解析

news/2024/7/21 4:29:06 标签: c++, 开发语言, 图像处理, 数据结构

一.优点

作为工业相机压缩的Raw数据,Bayer RG12packed数据具有精度高,不浪费存储空间的优势被广泛应用,每个像素值采用12bit表示,值域是0-4095,比BayerRG12数据节省了4bit的空间(PS:Bayer RG12每个像素值采用16位存储,值域是0-4095,浪费了4bit空间,优势是解码处理简单)

二.数据结构

/*

数据结构

R G

G B

RRRRRRRR rrrrgggg GGGGGGGG

8bit 4+4bit 8bit

--> RRRRRRRRrrrr GGGGGGGGgggg BBBBBBBBbbbb

GGGGGGGG ggggbbbb BBBBBBBB

8bit 4+4bit 8bit

*/

奇数行RGRGRG...

偶数行GBGBGB...

每个像素占用12bit,数据存储单元是8bit(1Byte),每3个Byte表征2个像素值

三.解码

读取3个bytes数据(Byte1,Byte2,Byte3),将第二个值Byte2分为高4位和低4位(h4,l4)

Byte1和h4拼接,Byte3和l4拼接得到

(Byte1<<4)+(Byte2>>4),(Byte3<<4)+(Byte2&0x0f)

//unsigned char *pRG,*pGB...
//read 3 Bytes
nV1 = *pRG++;
nV2 = *pRG++;
nV3 = *pRG++;

//decode R G1
nR = int((nV1 << 4) | (nV2 >> 4));
nG1 = int((nV2 & 0x0f) | (nV3 << 4));

//read 3 Bytes
nV1 = *pGB++;
nV2 = *pGB++;
nV3 = *pGB++;

//decode G2 B
nG2 = int((nV1 << 4) | (nV2 >> 4));
nB = int((nV2 & 0x0f) | (nV3 << 4));


http://www.niftyadmin.cn/n/170227.html

相关文章

Java实用类之String、StringBuffer、StringBuilder

1、 String类概述&#xff08;1&#xff09;在Java中&#xff0c;字符串被作为String类型的对象来处理。&#xff08;2&#xff09;String类位于java.lang包中&#xff0c;默认情况下&#xff0c;该包被自动导入所有的程序。&#xff08;3&#xff09;创建String对象的方法如下…

Linux——TCP协议与相关套接字编程

一.TCP协议概念与UDP协议相同&#xff0c;TCP协议也是应用在传输层的协议。虽然都是应用在传输层&#xff0c;但是使用方式和应用场景上大不一样。TCP协议具有&#xff1a;有连接&#xff08;可靠&#xff09;、面向字节流的特点。&#xff08;一&#xff09;.有连接所谓有连接…

opencv部分函数

opencv画图函数源代码位置opencv3_4_2\opencv\sources\modules\imgproc\src\drawing.cppvoid fillConvexPoly( Mat& img, const Point* pts, int npts,const Scalar& color, int line_type, int shift ) {CV_INSTRUMENT_REGION()if( !pts || npts < 0 )return;if( l…

最小生成树和最短路径区别和算法选择

最小生成树能够保证整个拓扑图的所有路径之和最小&#xff0c;但不能保证任意两点之间是最短路径。 最短路径是从一点出发&#xff0c;到达目的地的路径最小。 最小生成树所有点被连通 。把连通的图的所有顶点连起来路径之和最小的问题&#xff0c;即生成树总权值之和最小。…

算法简单题——有效括号

力扣第20题&#xff1a; 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号必须以正确的…

vue-响应式基础

vue-响应式基础声明响应式状态响应式代理 vs. 原始值声明方法DOM 更新时机深层响应性有状态方法声明响应式状态 选用选项式 API 时&#xff0c;会用 data 选项来声明组件的响应式状态。此选项的值应为返回一个对象的函数。Vue 将在创建新组件实例的时候调用此函数&#xff0c;…

野兔在线工具系统V2.9.4中文版更新

这个是野兔在线工具系统中文版更新&#xff0c;这次更新了几个已知的问题&#xff0c;修复系统部分功能。 系统名称&#xff1a;野兔在线工具系统 系统语言&#xff1a;中文版 系统源码&#xff1a;不加密&#xff0c;开源 系统开发&#xff1a;PHPMySQL 野兔在线工具系统V2.…

pandas@get_dummies@ 虚拟变量@one-hot encoding

文章目录虚拟变量one-hot encodingdemodemo1demo2demo3数值化插值处理NaN数值化其他get_dummies例虚拟变量one-hot encoding pandas.get_dummies — pandas 1.5.3 documentation (pydata.org) 将分类变量转换为虚拟/指示变量。 在数据分析领域&#xff0c;dummies通常被翻译为…