对比文件,通过距离删掉相近重复点

import numpy as np
import os

import glob
if __name__ == '__main__':
    for i in range(10,59):
        path66 = r'C:\Users\320133514\Desktop\new-centwe-line-all\dataset' + str(f'{i:02d}') + '\\'
        txt_files = glob.glob(os.path.join(path66, '*.txt'))
        # for filename in txt_files:
        for j in range(len(txt_files)):
            # print("The length of the file name is:", len(filename))
            # print(filename)
            F1 = txt_files[j]
            for k in range(j+1,len(txt_files)):
                F2 = txt_files[k]
                print("F1",F1)
                print("F2",F2)
                txt_data1 = np.loadtxt(F1, dtype=np.float32)
                txt_data2 = np.loadtxt(F2, dtype=np.float32)
                center1 = txt_data1[..., 0:3]
                center2 = txt_data2[..., 0:3]
                th1 = center1
                th2 = center2
                # filename = path66 + "3.txt"

                for p in range(len(th1) - 1, -1, -1):
                    for t in range(len(th2) - 1, -1, -1):
                        v0 = th1[p]
                        v1 = th2[t]
                        dist = np.linalg.norm(v1 - v0).astype(np.float16)
                        gap = 5
                        if dist < gap:
                            print("p", p, v0)
                            print("j", t, v1)
                            break
                    if dist < gap:
                        filename = F2
                        print(filename)

                        with open(filename, 'r') as f:
                            lines = f.readlines()[t + gap:]

                        with open(filename, 'w') as f:
                            f.writelines(lines)
                        break
                print("--------距离-------ok--------------")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fly*Boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值