- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编写一个小程序来将 OpenInventor 文件转换为 PCD 文件。为此,我有两个输入文件,即 OpenInventor 文件和 JPEG 图像。纹理坐标是介于 0.0 和 1.0 之间的浮点值。
我使用OpenCV提取RGB值并以十进制格式返回,但是下面的函数好像不能正常运行...
float get_color(cv::Mat img, float x, float y) {
int i = x*img.cols;
int j = y*img.rows;
unsigned char R = img.ptr<unsigned char>(j)[3*i];
unsigned char G = img.ptr<unsigned char>(j)[3*i+1];
unsigned char B = img.ptr<unsigned char>(j)[3*i+2];
return R*pow(16,4) +
G*pow(16,2) +
B;
}
我加载图像
cv::imread("filename.jpg", CV_LOAD_IMAGE_COLOR).
最佳答案
您的意思是将其作为 32 位整数返回吗?
unsigned int get_color(cv::Mat img, float x, float y)
{
int i = x*img.cols;
int j = y*img.rows;
unsigned char R = img.ptr<unsigned char>(j)[3*i];
unsigned char G = img.ptr<unsigned char>(j)[3*i+1];
unsigned char B = img.ptr<unsigned char>(j)[3*i+2];
return (R << 16) |
(G << 8) |
B;
}
或者您可能想将其作为 float 返回,在这种情况下您需要执行以下操作
struct FloatColour
{
float r;
float g;
float b;
};
float get_color(cv::Mat img, float x, float y)
{
int i = x*img.cols;
int j = y*img.rows;
unsigned char R = img.ptr<unsigned char>(j)[3*i];
unsigned char G = img.ptr<unsigned char>(j)[3*i+1];
unsigned char B = img.ptr<unsigned char>(j)[3*i+2];
FloatColour retCol;
retCol.r = R / 255.0f;
retCol.g = G / 255.0f;
retCol.b = B / 255.0f;
return retCol;
}
关于c++ - OpenInventor 到 PCD : cannot convert RGB to decimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11603091/
我正在使用 PCL 库 link使用 Ubuntu 17.04。 我想知道是否有办法从我的个人图像创建 .pcd 文件。 我发现的每个教程都使用预生成 pcd。 提前致谢。 最佳答案 如果您有不同格式
我在构建 PCD 时遇到此编译错误.似乎有一个未声明的变量(PCD最新版本,1.1.6) /pcd-1.1.6/pcd/src/process.c:506:34: error: ‘PRIO_PROCE
我试图更好地了解 Android 手机上的安全元件如何在卡模拟模式下与读卡器交互。对以下问题的任何见解都会有所帮助。 理论上(基于硬件设计),与阅读器通信时是否一定要经过SE?如果我对发送私有(pri
我有一个 .ply 文件,我想将其转换为 .pcd 格式,但不确定如何转换。 我已经尝试过这里操作描述的方法 Convertion of .ply format to .pcd format但它们还不
我正在使用以下代码将激光雷达数据(.bin 格式)转换为 .pcd 格式 with open ("lidar_velodyne64.bin", "rb") as f: byte = f.rea
我有一个使用 Velodyne-128 以 .bin 格式收集的激光雷达数据。我需要将它转换成 pcd 格式。我使用 NVIDIA Driveworks 进行数据处理,但没有将激光雷达二进制数据转换为
我正在使用以下代码将激光雷达数据(.bin 格式)转换为 .pcd 格式 with open ("lidar_velodyne64.bin", "rb") as f: byte = f.rea
我有一个使用 Velodyne-128 以 .bin 格式收集的激光雷达数据。我需要将它转换成 pcd 格式。我使用 NVIDIA Driveworks 进行数据处理,但没有将激光雷达二进制数据转换为
前言:我对编码还很陌生。使用 Ubuntu 12.04 和从他们网站下载的最新 PCL(我相信 PCL 1.7)我已经成功编译并构建了此处列出的 iograbber 程序:http://pointcl
我想在我的 android studio 项目中编写一个 PCD 文件(我有一个 Project Tango)。 我怎样才能做到这一点? 在我写的 list 中: uses-permission an
我正在编写一个小程序来将 OpenInventor 文件转换为 PCD 文件。为此,我有两个输入文件,即 OpenInventor 文件和 JPEG 图像。纹理坐标是介于 0.0 和 1.0 之间的浮
我正在尝试将数据从监视器获取到 Android 应用程序,我已将 IHE - PCD-01 事务作为模型。 方案很简单,就是基于实现显示器和平板的互联,显示器不断发送信息,应用监听。 但我不明白的是我
如何将 4d numpy 数组转换为 pcd 文件? Open3d 似乎可以让您保存 3 个维度,但不能保存第四个维度(强度)。 最佳答案 应该可以使用 open3d.t命名空间: import op
我想使用 PCL 加载点云数据。我可以在教程中正确加载示例数据,但是当我尝试使用我的数据时,pcd 文件的值被更改为非常小的值。 终端输出图像 实际值类似于 3603538.71629,但当 PCL
我是一名优秀的程序员,十分优秀!