国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Open3D常用點(diǎn)云濾波

這篇具有很好參考價值的文章主要介紹了Open3D常用點(diǎn)云濾波。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

在點(diǎn)云處理中,過密的點(diǎn)云需要下采樣,離群點(diǎn)和噪聲點(diǎn)需要去除,通過濾波的方法,可以抽稀點(diǎn)云,把離群點(diǎn)去除,以便進(jìn)行下一步處理

open3d中,很多濾波器已經(jīng)被封裝成了對應(yīng)的方法(源碼是C++)

1.直通濾波

直通濾波過濾指定維度(x,y,z)內(nèi),指定值域外的點(diǎn)

# 定義直通濾波函數(shù)
def pass_through(cloud, limit_min=0, limit_max=10, filter_value_name="z"):
 
    points = np.asarray(cloud.points)

    if filter_value_name == "x":

        ind = np.where((points[:, 0] >= limit_min) & (points[:, 0] <= limit_max))[0]
        x_cloud = pcd.select_by_index(ind)
        return x_cloud

    elif filter_value_name == "y":

        ind = np.where((points[:, 1] >= limit_min) & (points[:, 1] <= limit_max))[0]
        y_cloud = cloud.select_by_index(ind)
        return y_cloud

    elif filter_value_name == "z":

        ind = np.where((points[:, 2] >= limit_min) & (points[:, 2] <= limit_max))[0]
        z_cloud = pcd.select_by_index(ind)
        return z_cloud
pcd = o3d.io.read_point_cloud("./data/test.ply")
filtered_cloud = pass_through(pcd,limit_min=0,limit_max=50,
                             filter_value_name="y")

2.體素下采樣

下采樣

首先根據(jù)輸入點(diǎn)云,計算一個正好包裹點(diǎn)云的長方體,然后根據(jù)給定的體素分辨率分割成小正方體(體素),最后用非空體素的質(zhì)心或者中心坐標(biāo)代替原來的點(diǎn)

調(diào)用o3d函數(shù),參數(shù)只有一個:給定的體素分辨率

pcd = o3d.io.read_point_cloud("./data/test.ply")
pcd.voxel_down_sample(voxel_size = 0.05)

3.均勻下采樣

也是下采樣

通過構(gòu)建球體,選擇距離球心最近的點(diǎn)采樣,比起體素下采樣,均勻下采樣不移動點(diǎn)本身的位置

調(diào)用o3d函數(shù),參數(shù)只有一個:每k個點(diǎn)保留一個點(diǎn)

pcd = o3d.io.read_point_cloud("./data/test.ply")
pcd =pcd.uniform_down_sample(every_k_points = 3)

4.統(tǒng)計濾波

去除分布稀疏的點(diǎn)

對于點(diǎn)云中的每個點(diǎn),計算到最近k個點(diǎn)的平均距離,然后假設(shè)結(jié)果構(gòu)成高斯分布,過濾平均距離大于標(biāo)準(zhǔn)差的點(diǎn)

調(diào)用o3d函數(shù),參數(shù)有兩個:文章來源地址http://www.zghlxwxcb.cn/news/detail-464049.html

# nb_neighbors:最近k個點(diǎn)    std_ratio:基于標(biāo)準(zhǔn)差的閾值,越小濾除點(diǎn)越多
cl,ind = pcd.remove_statistical_outlier(nb_neighbors=5,std_ratio=1)
pcd = pcd.select_by_index(ind)

5.半徑濾波

也是去除分布稀疏的點(diǎn)

以每個點(diǎn)為中心建立給定半徑的球體,移除球體中點(diǎn)的數(shù)量小于給定閾值的點(diǎn)

調(diào)用o3d函數(shù),參數(shù)有兩個:

# nb_points:基于球體內(nèi)包含點(diǎn)數(shù)量的閾值  radius:半徑
cl,ind = pcd.remove_radius_outlier(nb_points,radios=1)
pcd = pcd.select_by_index(ind)

到了這里,關(guān)于Open3D常用點(diǎn)云濾波的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 『OPEN3D』1.1 點(diǎn)云處理 python篇

    『OPEN3D』1.1 點(diǎn)云處理 python篇

    目錄 1.open3d中的點(diǎn)云IO 2.點(diǎn)云的可視化 3 點(diǎn)云voxel下采樣 4. 頂點(diǎn)法線估計 5.最小外界矩 6. 凸包計算 7. 點(diǎn)云距離計算 8. DBSCAN clustering聚類 9. RANSAC(Random Sample Consensus)? 10. 點(diǎn)云平面分割 11. 隱藏點(diǎn)移除 12.outliers移除 13 最遠(yuǎn)點(diǎn)采樣(Farthest Point Sample) 專欄地址:https://blog.csdn.net/

    2024年02月02日
    瀏覽(55)
  • 基于Open3D的點(diǎn)云處理16-特征點(diǎn)匹配

    基于Open3D的點(diǎn)云處理16-特征點(diǎn)匹配

    將點(diǎn)云數(shù)據(jù)統(tǒng)一到一個世界坐標(biāo)系的過程稱之為點(diǎn)云配準(zhǔn)或者點(diǎn)云拼接。(registration/align) 點(diǎn)云配準(zhǔn)的過程其實(shí)就是找到同名點(diǎn)對;即找到在點(diǎn)云中處在真實(shí)世界同一位置的點(diǎn)。 常見的點(diǎn)云配準(zhǔn)算法: ICP、Color ICP、Trimed-ICP 算法流程: 選點(diǎn): 確定參與到配準(zhǔn)過程中的點(diǎn)集。 匹

    2024年02月10日
    瀏覽(39)
  • 【點(diǎn)云處理教程】00計算機(jī)視覺的Open3D簡介

    【點(diǎn)云處理教程】00計算機(jī)視覺的Open3D簡介

    ????????Open3D 是一個開源庫,使開發(fā)人員能夠處理 3D 數(shù)據(jù)。它提供了一組用于 3D 數(shù)據(jù)處理、可視化和機(jī)器學(xué)習(xí)任務(wù)的工具。該庫支持各種數(shù)據(jù)格式,例如 .ply、.obj、.stl 和 .xyz,并允許用戶創(chuàng)建自定義數(shù)據(jù)結(jié)構(gòu)并在程序中訪問它們。 Open3D 廣泛應(yīng)用于機(jī)器人、增強(qiáng)現(xiàn)實(shí)和自

    2024年02月14日
    瀏覽(20)
  • Open3D點(diǎn)云數(shù)據(jù)處理(二十):最小二乘直線擬合(三維)

    專欄目錄:Open3D點(diǎn)云數(shù)據(jù)處理(Python) 最小二乘三維直線擬合的原理是通過最小化數(shù)據(jù)點(diǎn)到直線距離的平方和,找到最優(yōu)的直線模型來擬合給定數(shù)據(jù)集。這個距離是指數(shù)據(jù)點(diǎn)到直線的垂線距離。 三維直線通常表示為兩個平面的交線,形如 { A

    2024年02月12日
    瀏覽(68)
  • Open3D點(diǎn)云數(shù)據(jù)處理(十九):最小二乘直線擬合(矩陣方程法)

    專欄目錄:Open3D點(diǎn)云數(shù)據(jù)處理(Python) 最小二乘直線擬合是一種常用的數(shù)據(jù)擬合方法,它的目標(biāo)是找到一條直線,使得該直線和樣本數(shù)據(jù)之間的誤差平方和最小。從矩陣方程的角度來看,最小二乘直線擬合可以看作是求解一個超定線性方程組的問題。 具體來說,我們假設(shè)有

    2024年02月13日
    瀏覽(50)
  • open3d點(diǎn)云平移

    open3d點(diǎn)云平移

    功能簡介 open3d中點(diǎn)云的平移函數(shù)為:pcd.translate((tx, ty, tz), relative=True)。當(dāng)relative為True時,(tx, ty, tz)表示點(diǎn)云平移的相對尺度,也就是平移了多少距離。當(dāng)relative為False時,(tx, ty, tz)表示點(diǎn)云中心(質(zhì)心)平移到的指定位置。質(zhì)心可以坐標(biāo)可以通過pcd.get_center()得到。 代碼

    2024年01月22日
    瀏覽(42)
  • Open3d點(diǎn)云對象詳解

    Open3d點(diǎn)云對象詳解

    PointCloud 是open3d中用于點(diǎn)云處理的類,封裝了包括幾何變換、數(shù)據(jù)濾波、聚類分割等一系列實(shí)用算法。如無特別說明,本例中所有例程均基于斯坦福兔子的點(diǎn)云模型,下載地址:斯坦福標(biāo)準(zhǔn)模型 讀取和清除點(diǎn)云 一般點(diǎn)云數(shù)據(jù)的讀取方法屬于 open3d.io 的內(nèi)容,但點(diǎn)云類也提供了

    2023年04月19日
    瀏覽(53)
  • open3d操作.ply文件(點(diǎn)云)

    open3d操作.ply文件(點(diǎn)云)

    讀取.ply文件

    2024年02月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包