首页 > 其他分享 >[open3d]点云投影2D图像

[open3d]点云投影2D图像

时间:2024-09-05 10:18:34浏览次数:4  
标签:arr img cv2 2D np open3d 点云 points

输入:三维点云

输出:2D DSM

import open3d as o3d
import numpy as np
import cv2

#读取点云,转换为栅格图像
#将栅格图像分块
resolution = 0.2
save_path = r"dsm.png"
print("->正在加载点云... ")
m_pc = o3d.io.read_point_cloud("WHU.ply")
print(m_pc)
print('体素化')
points = np.asarray(m_pc.points)  # 将点云数据转化为 numpy 数组
print("数组形状:", points.shape)  # 输出数组的形状(行列数)
x = points[:, 0]
y = points[:, 1]
z = points[:, 2]

# 获取栅格范围
xmin, xmax = np.nanmin(x), np.nanmax(x)
ymin, ymax = np.nanmin(y), np.nanmax(y)

# 创建栅格, dtype=np.uint8
arr_width = int((xmax - xmin) / resolution)
arr_height = int((ymax - ymin) / resolution)
img = np.zeros((arr_height, arr_width))
# xyz转行列号
for i in range(0, x.shape[0]):
    col = int((x[i] - xmin) / resolution)
    row = int((y[i] - ymin) / resolution)
    if (col < 0 or col >= arr_width):
        continue
    if (row < 0 or row >= arr_height - 1):
        continue
    img[row][col] = 255#注意此处转换为二值图
cv2.imwrite(save_path, img)
cv2.namedWindow("img", 0)
cv2.resizeWindow("img", 400, 300)  # 设置窗口大小
cv2.imshow("img", img)
cv2.waitKey(0)

 

标签:arr,img,cv2,2D,np,open3d,点云,points
From: https://www.cnblogs.com/yhlx125/p/18397811

相关文章

  • RMV-112D 控制器 确保系统稳定运行
    RMV-112D是一个控制器型号,具有许多优势。RMV-112是针对运行超10年的国外DCS系统及设备进行国产化升级改造设计的产品。它具有以下优势:兼容性广,可兼容国内外主流DCS系统及设备。稳定性好,采用先进的控制算法和智能控制策略,确保系统稳定运行。可靠性高,经过严格的质量控制和......
  • 安装open3d
    https://pypi.org/project/open3d/#history (D:\anaconda3\yhexie)C:\Users\yhexie>pipinstallopen3dCollectingopen3dDownloadingopen3d-0.18.0-cp310-cp310-win_amd64.whl.metadata(4.1kB)Requirementalreadysatisfied:numpy>=1.18.0ind:\a......
  • chat2DB体验
    文章目录Chat2DB体验的印象Chat2DB是什么?流水帐数据库示例新建数据表生成测试数据查询数据特殊查询Chat2DB体验的印象主页是https://chat2db-ai.com/因为最近物理研究需要用到很多数据,所以试用了一个号称神级AI数据库系统。首先,这不是一个数据库系统,就是在数据......
  • Unity实战案例 2D小游戏HappyGlass(模拟水珠)
    本案例素材和教程都来自Siki学院,十分感谢教程中的老师本文仅作学习笔记分享交流,不作任何商业用途预制体  在这个小案例中,水可以做成圆形但是带碰撞体,碰撞体比图形小一圈,顺便加上Trailrenderer组件 材质将碰撞材质的friction为0,bonciness可以按照需要修改脚本 ......
  • 2D双开门效果
    设置父级背景图片#实现双开门有两种方法1、采用定位2、平面转换#设置父级盒子的样式及背景  .box{   display:flex;   width:1456px;   height:816px;   margin:0auto;   background-image:url(./img/jhk-1723779336628.jp......
  • CSS3 2D 转换
    CSS3的2D转换可以用来旋转、缩放、平移和倾斜元素,使网页布局更具动感和互动性。一transform:translate(x,y);transform:translate(x,y);是CSS3中用于平移元素的属性。它将元素在水平(x轴)和垂直(y轴)方向上移动一定的距离。x和y值可以是像素(px)、百分比(%)、......
  • Switch 塞尔达传说旷野之息:中文本体+1.6.0+2DLC整合版+林可儿3.0.1 增强整合MOD
    整合包复制到SD卡,同时解压MOD复制到atmosphere/contents,使用DBI安装成功。安装后原来版本的存档还在。本体+1.6.0+2DLC整合版XCI塞尔达传说:狂野之息/旷野之息游戏变成了完全的开放地图,沙盒式的玩法拓展出了更多的内容,林克可以爬山、游泳,而且游戏对应外观变化,玩家在游戏......
  • Open3D mesh Taubin滤波
    目录一、概述1.1原理1.2实现步骤1.3应用场景二、代码实现2.1关键函数参数详解返回值2.2完整代码三、实现效果3.1加入噪声的mesh3.2Taubin迭代10次3.3Taubin迭代100次Open3D点云算法汇总及实战案例汇总的目录地址:Open3D点云算法与点云深度学习案例汇总(长期更新)-......
  • 点云和vtk 在3d处理上的优势
    点云和VTK在3D处理上各有其优势。让我们详细比较一下这两种方法在3D处理中的特点:点云(PointCloud)的优势:1.数据原始性:  -点云保留了原始的3D扫描数据,没有经过插值或重建,因此保持了最高的数据准确性。2.灵活性:  -可以轻松地进行空间操作,如旋转、平移、缩放等。 ......
  • S32的进阶之路->8,S32DS的WDOG看门狗配置
    硬件:S32K144开发板软件:S32DS2.2 1,S32K144硬件连接说明    看门狗定时器时间到没有喂狗就会触发系统复位,反之定时时间内喂狗会正常工作,可以避免程序跑飞等软硬件问题。IO口分配情况如下,S32K144开发板具有3个按键和4个LED灯,具体与芯片的引脚连接情况如下所示。 *......