用来获取含有噪点的点云数据,用来对滤波等算法进行干扰测试。
![]() |
![]() |
---|
- 椭圆点云生成:生成标准椭圆形状的点云数据
- 噪点添加:为已有数据文件添加各种类型的噪点
- 多种噪点分布:支持均匀分布、正态分布、聚类分布、环形分布
- 3D支持:可生成和处理三维点云数据
- 给自定义文件升噪:用户可以选择点云文件,进行个性化升噪处理
- 2D散点图:经典的二维数据可视化
- 3D散点图:三维空间数据展示
- 密度热图:数据分布密度可视化
- 统计分析图:包含距离分布、角度分布、聚类分析等
- 实时预览:参数调整时实时更新预览图
- 多标签页设计:基本设置、高级设置、可视化设置分类管理
- 中文界面:完整的中文用户界面支持
- 交互式参数调节:直观的参数输入和调整
- Python 3.6 或更高版本
pip install numpy pandas matplotlib seaborn scipy scikit-learn tkinter
- Windows(推荐,已优化中文字体支持)
- macOS
- Linux
# 确保 AddNoise.py 文件在您的工作目录中
pip install numpy pandas matplotlib seaborn scipy scikit-learn
python AddNoise.py
- 选择"生成椭圆点云"模式
- 设置基本参数:
- 椭圆主线点数:椭圆轮廓上的点数量
- 噪点数量:要生成的噪点数量
- 半长轴 a:椭圆的半长轴长度
- 半短轴 b:椭圆的半短轴长度
- 噪点范围:噪点的分布范围(min, max)
- 点击"更新预览"查看效果
- 设置输出文件路径
- 点击"执行并保存"
- 选择"为已有文件追加噪点"模式
- 选择输入文件(支持空格分隔的文本文件)
- 设置噪点参数
- 设置输出文件路径
- 执行操作
- 均匀分布:在指定范围内均匀分布的噪点
- 正态分布:符合正态分布的噪点
- 聚类分布:形成多个聚类中心的噪点
- 环形分布:围绕中心呈环形分布的噪点
- 启用3D模式可生成三维点云数据
- 可设置Z轴噪点范围
- 支持3D可视化
- 聚类中心数:聚类分布模式下的聚类数量
- 聚类标准差:控制聚类的紧密程度
- 2D散点图:标准的二维散点图显示
- 3D散点图:三维空间中的点云显示
- 密度热图:包含散点图、密度热图、X/Y轴分布的综合视图
- 统计分析:距离分布、角度分布、聚类分析和统计摘要
- 默认:经典的蓝红配色
- Viridis:科学可视化常用配色
- Plasma:高对比度配色
- Cool:冷色调配色
- Seaborn:统计图表优化配色
- 点大小:控制散点的显示大小
- 透明度:控制点的透明程度(0-1)
- 输出文件为空格分隔的文本文件
- 2D数据:每行包含 x y 坐标
- 3D数据:每行包含 x y z 坐标
- 无标题行,纯数据格式
# 2D格式示例
1.234 2.567
-0.123 1.890
...
# 3D格式示例
1.234 2.567 0.123
-0.123 1.890 -0.456
...
程序提供详细的统计分析,包括:
- 数据点数量统计
- 坐标范围和均值
- 标准差计算
- 正态性检验:Shapiro-Wilk检验
- 相关性分析:坐标间的相关系数
- 聚类分析:DBSCAN聚类算法
- 分布分析:距离和角度分布
- 椭圆点密度
- 噪点密度
- 信噪比计算
- 自动检测系统可用的中文字体
- 支持 Windows、macOS、Linux 系统
- 优雅降级到默认字体
- 延迟更新机制避免频繁刷新
- 大数据集的采样处理
- 内存友好的数据处理
- 完善的异常处理机制
- 用户友好的错误提示
- 参数验证和边界检查
- 依赖库缺失时的优雅降级
A: 程序会自动尝试设置中文字体,如果仍显示为方框,请确保系统安装了中文字体。
A: 程序对大数据集进行了优化,但建议单次处理的点数不超过100万个。
A: 支持空格、制表符分隔的文本文件,每行包含坐标数据。
A: 在高级设置中调整"Z轴噪点范围"参数。
A: 这是依赖库版本兼容性问题。解决方案:
# 方案1:降级 jedi 版本
pip install "jedi<0.18.0"
# 方案2:如果仍有问题,卸载有问题的包
pip uninstall -y seaborn ipywidgets ipython
# 程序会自动使用备用方案,功能不受影响
A: 以下警告是正常的,不影响程序功能:
- "⚠ Seaborn 不可用,将使用默认颜色方案"
- "MatplotlibDeprecationWarning" 相关警告
- 字体设置相关警告
如果遇到导入错误,程序设计了优雅降级机制:
- Seaborn 不可用:程序会使用默认颜色方案
- SciPy 不可用:统计分析功能受限,但基本功能正常
- Scikit-learn 不可用:聚类分析不可用,其他功能正常
程序的核心功能只需要以下库:
pip install numpy pandas matplotlib tkinter
如果需要所有高级功能,请安装:
pip install numpy pandas matplotlib scipy scikit-learn
# 注意:暂时跳过 seaborn 以避免兼容性问题
- 初始版本发布
- 支持基本椭圆生成和噪点添加
- 多种可视化模式
- 完整的统计分析功能
- 中文界面支持
本项目遵循 MIT 许可证。
欢迎提交问题报告和功能建议!
噪点生成工具 - 让点云数据生成更简单、更直观