Open3D离群点剔除

 

import time
import open3d as o3d;
import numpy as np;
import matplotlib.pyplot as plt
from scipy.signal import find_peaks
import pandas as pd

OriginalPly = o3d.io.read_point_cloud("source/Glue4.ply") 
cl, ind = OriginalPly.remove_statistical_outlier(nb_neighbors=600, std_ratio=2.0)
o3d.visualization.draw_geometries([ cl,mesh_coord_frame],window_name="剔除离群点后的结果") 

 

在这个例子中,remove_statistical_outlier方法就是用来移除离群点的。这个方法有两个参数:nb_neighborsstd_ratio

nb_neighbors参数用来指定每个点的邻居数量,std_ratio参数用来确定剔除哪些点。如果一个点的距离大于平均距离加上std_ratio倍的标准差,那么这个点就会被认为是离群点,并被剔除。

以上是一个基本的示例,实际使用时可能需要根据具体的点云数据和需求进行调整。

剔除前

Open3D离群点剔除_第1张图片 剔除后

Open3D离群点剔除_第2张图片

你可能感兴趣的:(机器视觉,#,Open3D,python,算法,open3d,python)