您的位置:首页 > 教育 > 锐评 > 商丘有哪些大型企业_中国新闻社是事业编制吗_电商运营seo_商家怎么入驻百度

商丘有哪些大型企业_中国新闻社是事业编制吗_电商运营seo_商家怎么入驻百度

2025/1/11 13:27:02 来源:https://blog.csdn.net/qq_44870829/article/details/145017284  浏览:    关键词:商丘有哪些大型企业_中国新闻社是事业编制吗_电商运营seo_商家怎么入驻百度
商丘有哪些大型企业_中国新闻社是事业编制吗_电商运营seo_商家怎么入驻百度

👑主页:吾名招财
👓简介:工科学硕,研究方向机器视觉,爱好较广泛…
​💫签名:面朝大海,春暖花开!

open3d将彩色图和深度图转换成点云(C++)

  • 1,引言
  • 2,相关数据集资源如下
  • 3,彩色图、深度图和相机内参
  • 4,C++代码
  • 5,生成的彩色点云效果如下

1,引言

  必备条件需要3D相机生成的彩色图及深度图,注意要将深度图与彩色图对齐(一般3D相机自带对齐算子),以及3D相机的彩色图内参(相机自带内参获取功能)。有了此彩色图、对齐后的深度图以及相机内参就能使用open3d生成彩色点云了.

2,相关数据集资源如下

  本人上传了一个用于三维重建测试的公开数据集,内含彩色图、深度图、相机内参、相机位姿等相关数据,可用于相关测试
https://download.csdn.net/download/qq_44870829/90236553
在这里插入图片描述

3,彩色图、深度图和相机内参

在这里插入图片描述
在这里插入图片描述

4,C++代码

#include <string>
#include <iostream>
#include "Open3D/Open3D.h"using namespace std;int main(int argc, char* argv[])
{// ----------------------------------------读取图像-------------------------------------open3d::geometry::Image color, depth;open3d::io::ReadImage("frame-000000.color.jpg", color); // 读取彩色图像open3d::io::ReadImage("frame-000000.depth.png", depth); // 读取深度图像// -------------------------------------输出图像基本信息--------------------------------open3d::utility::LogInfo("Reading RGBD image : ");open3d::utility::LogInfo("     Color : {:d} x {:d} x {:d} ({:d} bits per channel)",color.width_, color.height_, color.num_of_channels_,color.bytes_per_channel_ * 8);open3d::utility::LogInfo("Depth : {:d} x {:d} x {:d} ({:d} bits per channel)",depth.width_, depth.height_, depth.num_of_channels_,depth.bytes_per_channel_ * 8);// --------------------------------------相机内参设置----------------------------------int width = 640;   // 输入图像的宽度int height = 480;  // 输入图像的高度double fx = 585; // x轴焦距 double fy = 585; // y轴焦距double cx = 320; // 相机原点的x坐标double cy = 240; // 相机原点的y坐标// 方式一auto intrinsic = open3d::camera::PinholeCameraIntrinsic(width, height, fx, fy, cx, cy); // 使用自定义内参方式二open3d::camera::PinholeCameraIntrinsic intrinsic = open3d::camera::PinholeCameraIntrinsic();intrinsic.SetIntrinsics(width, height, fx, fy, cx, cy);//open3d::camera::PinholeCameraIntrinsic intrinsic = open3d::camera::PinholeCameraIntrinsic(//	open3d::camera::PinholeCameraIntrinsicParameters::PrimeSenseDefault); // 使用默认内参// -------------------------------------RGBD图像参数设置-------------------------------double depth_scale = 1000.0; // 深度值的缩放倍数double depth_trunc = 3.0;    // 深度值的截断系数bool convert_rgb_to_intensity = false; // 是否将彩色图转为强度图// --------------------------------------生成RGBD图像----------------------------------std::shared_ptr<open3d::geometry::RGBDImage> rgbd_image = open3d::geometry::RGBDImage::CreateFromColorAndDepth(color,                    // 输入的彩色图像depth,                    // 输入的深度图像depth_scale,              // 深度值的缩放倍数depth_trunc,              // 深度值大于该值将被截断为0convert_rgb_to_intensity);// 设置是否将彩色图像转为强度图
// ---------------------------------------RGBD转点云-----------------------------------auto pcd = open3d::geometry::PointCloud::CreateFromRGBDImage(*rgbd_image, intrinsic);open3d::visualization::DrawGeometries({ pcd });return 0;
}

5,生成的彩色点云效果如下

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com