当前位置: 首页 > news >正文

杭州网站忧化响水网站建设找哪家好

杭州网站忧化,响水网站建设找哪家好,长沙市房产交易中心官网,网络教学平台#x1f451;主页#xff1a;吾名招财 #x1f453;简介#xff1a;工科学硕#xff0c;研究方向机器视觉#xff0c;爱好较广泛… ​#x1f4ab;签名#xff1a;面朝大海#xff0c;春暖花开#xff01; open3dopencv实现矩形框裁剪点云操作#xff08;C#xff…主页吾名招财 简介工科学硕研究方向机器视觉爱好较广泛… ​签名面朝大海春暖花开 open3dopencv实现矩形框裁剪点云操作C 1引言2相关测试数据资源如下3彩色图、深度图和相机内参4C代码5最终效果 1引言 针对彩色图和深度图以及相机内参可以合成点云而对某一区域的点云数据截取可以通过二维ROI区域截取深度图及彩色图出来。不过不能整张图像裁剪其图像大小不能变把除了截取区域外的给置为0就行了。 2相关测试数据资源如下 本人上传了一个用于三维重建测试的公开数据集内含彩色图、深度图、相机内参、相机位姿等相关数据可用于相关测试 https://download.csdn.net/download/qq_44870829/90236553 3彩色图、深度图和相机内参 4C代码 #include string #include iostream #include Open3D/Open3D.h #include opencv2/opencv.hppusing namespace std;open3d::geometry::Image o3d_cv(const cv::Mat A) {open3d::geometry::Image B;int bytes_per_channel (A.depth() / 2 1);//refer to the fuction depthB.Prepare(A.cols, A.rows, A.channels(), bytes_per_channel);std::memcpy(B.data_.data(), A.data, A.total() * A.channels() * bytes_per_channel);return B; }int main(int argc, char* argv[]) {//--------------------------------------1相关参数----------------------------------//要截取的ROI区域大小int x 285;int y 363;int w 150;int h 120;//相机内参设置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; // 是否将彩色图转为强度图//-------------------------------------2,读取图像并裁剪-------------------------------------//用opencv读取二维彩色图及深度图像将某一ROI区域裁剪出来然后再进行点云生成cv::Mat colorimg cv::imread(frame-000276.color.jpg);cv::Mat depthimg cv::imread(frame-000276.depth.png, -1); //深度图要读取原图//制作ROI区域掩膜cv::Mat templateImg_color cv::Mat::zeros(colorimg.size(), colorimg.type());cv::Mat mask cv::Mat::zeros(colorimg.size(), colorimg.type());cv::rectangle(mask, cv::Point(x, y), cv::Point(x w, y h), cv::Scalar(255, 255, 255), -1);//矩形的两个顶点两个顶点都包括在矩形内部colorimg.copyTo(templateImg_color, mask);cv::Mat templateImg_depth cv::Mat::zeros(depthimg.size(), depthimg.type());cv::Mat mask2 cv::Mat::zeros(depthimg.size(), CV_8UC1);cv::rectangle(mask2, cv::Point(x, y), cv::Point(x w, y h), cv::Scalar(255, 255, 255), -1);//矩形的两个顶点两个顶点都包括在矩形内部//cv::bitwise_and();depthimg.copyTo(templateImg_depth, mask2);//-------------------------------------3显示未裁剪前的原始点云-------------------------------------open3d::geometry::Image color_o o3d_cv(colorimg);open3d::geometry::Image depth_o o3d_cv(depthimg);// 生成RGBD图像std::shared_ptropen3d::geometry::RGBDImage rgbd_image_o open3d::geometry::RGBDImage::CreateFromColorAndDepth(color_o, // 输入的彩色图像depth_o, // 输入的深度图像depth_scale, // 深度值的缩放倍数depth_trunc, // 深度值大于该值将被截断为0convert_rgb_to_intensity);// 设置是否将彩色图像转为强度图// RGBD转点云auto pcd_o open3d::geometry::PointCloud::CreateFromRGBDImage(*rgbd_image_o, intrinsic);open3d::visualization::DrawGeometries({ pcd_o });//-------------------------------------4显示并保存裁剪后的点云-------------------------------------open3d::geometry::Image color o3d_cv(templateImg_color);open3d::geometry::Image depth o3d_cv(templateImg_depth);直接使用open3d读取图像//open3d::geometry::Image color, depth;//open3d::io::ReadImage(0.png, color); // 读取彩色图像//open3d::io::ReadImage(0_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);// 生成RGBD图像std::shared_ptropen3d::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 });//5.保存点云文件 保存open3d::io::WritePointCloudToPCD(moban.pcd, *pcd, false);//open3d::io::WritePointCloudToPCD(search.pcd, *pcd, false);return 0; }5最终效果 未裁剪前的点云 裁剪后的点云
http://www.hkea.cn/news/14464766/

相关文章:

  • 天河建设网站公司网上开平台要多少钱
  • 网站建设网站建设企业展厅设计网
  • 做公众号的网站有哪些网站建设论文
  • 用php制作一个个人信息网站南京本地网站
  • 建设视频网站费用保定医疗网站建设公司
  • 河南中州路桥建设有限公司网站怎么做微信里的网页网站链接
  • 网站seo标题优化技巧深圳效果图制作公司
  • 南宁网站建设专业品牌网站开发研发设计
  • 网站推广塔山双喜长春网站建设公司
  • 兵团建设环保局网站阿里云做网站的代码
  • 宁波建设工程报名网站建设好的网站
  • 做传销网站的程序员犯法吗wordpress 关键词描述
  • php网站整合discuz魔域网页游戏官网
  • 个人网站做什么类型好工装设计效果图网站
  • 江苏同邦建设有限公司网站wordpress网站地图自动更新
  • 重庆工业建设网站wordpress怎么换主题
  • 自建网站h5网站推广怎么发外链
  • 网站排名在线优化工具网站建设导航分哪几类
  • 外贸工厂网站做seo多吗塘下网站建设
  • 网站建设技术参数山西设计网站公司
  • 用ul做的网站为何浮动不上去综合类门户网站有哪些
  • 建设网站项目的目的公关服务
  • 重庆网站托管服务wordpress怎么改标题和meta
  • 织梦汽车网站模板免费下载驻马店住房和城乡建设厅网站
  • 自助网站设计平台青岛 网站开发
  • 大连意动网站建设有限公司怎么样什么叫做优化
  • 免费金融网站模板软件开发需要哪些人员及其分工
  • 怎么免费开网站云服务器做网站详细
  • 一个网站需要服务器吗720云 wordpress
  • 刘涛做代言的那个网站wordpress怎么输代码