PCL点的颜色解析----未完成检验 转自张智胜

#include <stdint.h>
#include <iostream>
int main()
{
 //定义RGB分量
 uint8_t r = 174, g = 64, b = 254;
 //使用位运算符将三个unint8合并成一个uint32——t
 uint32_t rgb = (static_cast<uint32_t>(r) << 16 |
  static_cast<uint32_t>(g) << 8 |
  static_cast<uint32_t>(b));
 //将调用reinterpret将uint32转为float
 float rgbf = *reinterpret_cast<float*>(&rgb);
 rgb = *reinterpret_cast<uint32_t*>(&rgbf);//为什么要转换两边,不是很清楚
 //解析出rgb分量
 uint8_t rr = (rgb >> 16) & 0x0000ff;
 uint8_t gg = (rgb >> 8) & 0x0000ff;
 uint8_t bb = (rgb) & 0x0000ff;
 std::cout << "r通道复原为"<<rr <<std::endl;
 std::cout << "g通道复原为" << gg << std::endl;
 std::cout << "b通道复原为" << bb << std::endl;
 system("pause");
 return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值