- 博客(91)
- 资源 (5)
- 收藏
- 关注
原创 【编程实践】PySide6 + Plotly + Pandas 开发HTML数据分析报告
现象点击“生成报告”时,程序崩溃并弹窗提示 KeyError: ‘font-family’。原因分析这是一个复合型问题:代码冗余:src 目录下存在两个文件(section_analysis.py 和 statistics.py),它们内部都定义了名为 StatisticsAnalyzer 的类。主程序 main_window.py 错误地引用了旧版(功能不全)的类。后端冲突:旧版代码中引入了 matplotlib.pyplot。
2025-12-19 00:24:25
707
原创 【编程实践】Windows + PySide6 + Matplotlib 绘图时 WinError 32 的完整排查与解决方案
本文分析了在PySide6+Matplotlib开发GUI程序时,Windows系统下因文件锁定导致的图像加载错误问题。当通过临时文件路径加载Matplotlib图像到QPixmap时,Windows文件锁机制与Qt的文件加载行为会冲突,导致"WinError 32"错误。研究发现根本原因是:1)未释放的临时文件句柄和2)QPixmap对文件的持续锁定。解决方案是改用内存加载方式:先将图像保存到临时文件,读取为字节数据后加载到QPixmap,再删除临时文件。这种"文件仅作中转,
2025-12-17 06:32:30
707
原创 【编程实践】正则表达式的使用
提取 ply文件的点数(头部element vertex N)匹配隧道区段编号提取混凝土用量清理日志时间戳前缀文件名标准化。
2025-11-24 20:38:58
437
原创 【学习笔记】三维重建中Alpha shapes与Ball Pivoting方法区别
Alpha Shapes和Ball Pivoting是两种不同的点云重建方法。Alpha Shapes基于Delaunay三角化,通过alpha值控制重建细节,适合处理凸形结构但对噪声敏感。Ball Pivoting采用滚球原理进行流形重建,适用于稠密点云但依赖点云密度和法向量。两者都利用了Delaunay三角化的"空圆"特性,但实现方式不同:Alpha Shapes是全局筛选过程,Ball Pivoting是局部生长过程。
2025-11-22 07:52:43
1054
原创 【学习笔记】利用meshlab进行曲面的质量检查
本文介绍了使用Meshlab V2023.12检查PLY格式曲面质量的方法。主要内容包括检测拓扑问题(自相交、重叠面、孤立元素等)、几何问题(法向翻转、孔洞等)和质量指标(面片细长程度、曲率等)。详细说明了Meshlab中的具体操作步骤,如清理重复顶点、检查非流形边、检测自相交面、修复孔洞、验证法向一致性、评估面片质量和计算曲率等。通过日志窗口和可视化高亮显示问题区域,帮助用户快速定位并修复模型缺陷。
2025-10-18 22:48:36
927
原创 【学习笔记】泊松表面重建探讨
泊松重建产生"气泡"异常的根本原因是其要求点云必须封闭、均匀且法向一致,而实际数据常不满足。主要诱因包括点云缺口、法向翻转、密度不均和离群点等,导致算法误判内外区域。解决方案包括:预处理确保点云封闭干净;稳健法向估计;合理设置重建参数(如控制depth值);以及后处理删除伪面。通过预处理+参数优化+后处理的三步策略,可有效减少气泡问题。工程实践中需权衡模型精度与噪声容忍度,必要时牺牲局部细节保证整体质量。
2025-10-05 19:37:59
436
原创 【编程实践】关于S3DIS数据集的问题
修改后的代码,对数据集进行运行预处理,同样的代码,对于Area_1运行,提示存在部分数据缺失;对于Area_2能够完整运行并得到结果。导致测试运行出现问题,提示找不到对应的Area_X_alignmentAngle.txt。修改Pointcept框架下对于s3dis数据集的预处理程序,跳过对齐代码。从官方提供的网址下载数据集,里面并没有对应的对齐数据。
2025-08-17 21:28:54
483
原创 【编程实践】关于Vscode无法连接Anaconda解译器的问题
针对上述问题,上面的软件安装、路径、环境均没有问题,那么经过排查,应当是在之前安装的Anaconda存在卸载残留或者叫之前Anaconda的 VS Code 的 Python 扩展缓存,阻塞了Vscode与新conda的通讯,它默认先使用原来缓存中的地址,其实已经被移除,但是无法更新出来。找到默认缓存路径中的workspaceStorage文件夹(进入C盘,进行文件搜索),把它删掉,新的vscode和conda会新建一个缓存文件,选择对应的解译器之后,右下角应该出现对应的虚拟环境。
2025-08-12 20:58:34
752
原创 【编程实践】基于三角网络模型的曲率估计
目标:找到每个三角面片的邻居(共享边的三角面)顶点法向量通过相邻面平均得到。是顶点索引构成的三角形。数据输入:三角网格数据。
2025-08-05 20:25:43
1049
原创 【编程实践】基于局部二次曲面拟合的高斯曲率估计
使用numpy中的linalg.lstsq解线性最小二乘问题。,作为正交基,用于旋转邻域点到局部坐标系。局部坐标系中的点记为。将邻域点代入构造矩阵方程。局部邻域提取(kNN)
2025-08-05 01:03:15
767
原创 【编程实践】点云曲率计算与可视化
此处曲率定义:采用基于点云PCA协方差分析的局部曲率估计方法。κλ1λ1λ2λ3κλ1λ2λ3λ1其中λ1λ1是协方差矩阵最小特征值,反映法向方向上的变化程度。该指标不具备严格几何意义的主曲率属性,但在点云中广泛应用于反映局部几何尖锐程度和表面变化趋势。
2025-08-04 22:41:44
1110
原创 【编程实践】利用open3d生成物体的最长边方向并可视化
提供了完整的Python代码实现,包括点云读取、OBB计算、方向向量提取和可视化功能。该方法可用于3D数据处理中自动识别物体的主要方向特征。
2025-07-13 22:53:51
272
原创 【编程实践】圆形数据拟合并检测指定方向数据点或拟合交点
基于RANSAC算法的圆拟合方法,通过自定义CircleModel类实现圆心和半径的稳健估计。首先生成含噪声的圆形数据点,然后使用RANSAC算法进行拟合,得到圆心的坐标和半径值。为了验证拟合效果,在多个指定角度方向上进行射线检测,判断是否存在实测数据点。若不存在实测点,则计算射线与拟合圆的交点作为替代。
2025-07-10 05:40:10
244
原创 【学习笔记】影像自动特征提取简要介绍——点特征
特征提取是指影像上明显区别于其他物体的目标,可以从几何形状、灰度、纹理等方面进行识别,常见的几何特征有点特征、线特征、面特征。由计算机自动进行特征提取主要通过各种算子(operator)实现。
2025-04-26 07:34:32
1199
原创 【教材译读】离散微分几何:应用简介(第二章)
表面的哪些部分相互连接,如何连接?有许多不同的方法来描述离散曲面的连通性;其中一种方法是使用简单复数–事实上,简单复形可以编码比曲面复杂得多的对象。
2025-03-08 00:22:29
948
原创 【编程实践】pymeshlab的meshing_close_holes参数设置
当size=1,能运行,网格共有1348892个顶点和2137095个面,修复后的网格共有。size=10,十,能运行,下图展示了能够修复的小孔洞的尺寸和位置对比。size=10000000000,一百亿,不能运行;size=1000000,一百万,能运行,网格共有。size=1000000000,十亿,不能运行;size=1000000000,一亿,能运行;个面,移除了孤立点,未对面片进行操作。size=0.1,零点一,不能运行。个面,修复后的网格共有。
2025-03-05 23:56:10
446
原创 【教材译读】离散微分几何:应用简介
离散微分几何:应用简介 (2025年1月版)声明:书籍作者为Keenan Crane,所有权利及思想归原作者所有,如需引用,请按照相应规范进行引用。
2025-03-02 01:26:02
1087
原创 【学习笔记】三维点云空洞修复介绍(二)Grids-based
border halfedge是没有incident facet的,一条edge是border edge当且仅当它的其中一条halfedges是border halfedges,一个表面如果不含border halfedges,那它就是封闭的。一个封闭的表面的是一个多面体在三维空间中的表现。
2025-02-27 01:01:43
1761
原创 【编程实践】vscode+pyside6环境部署
PySide6是Qt for Python的官方版本,支持Qt6,提供Python访问Qt框架的接口。优点包括官方支持、LGPL许可,便于商业应用,与Qt6同步更新,支持最新特性。缺点是相比PyQt5,社区资源较少。未来发展前景看好,随着Qt6普及,PySide6将获得更多关注。选择PySide6的优势在于其官方背景、许可证灵活性和对新Qt技术的支持,适合寻求长期支持和前沿技术的开发者。
2025-02-11 22:59:32
1458
原创 【学习笔记】目前市面中手持激光雷达设备及参数汇总
手持激光雷达设备是一种利用激光时间飞行原理来测量物体距离并构建三维模型的便携式高科技产品。它通过发射激光束并分析反射回来的激光信号,能够精确地获取物体的三维结构信息。这种设备以其高精度、适应各种光照环境的能力和便携性,在建筑测量、地形测绘、文物保护、城市规划等多个领域中发挥着重要作用,能够快速、高效地提供精确的空间数据,极大地提高了相关行业的工作效率和测量精度。
2024-12-11 20:45:36
1417
原创 【学习笔记】C++每日一记[20240520]
内存越界也指内存访问越界,是指访问了所申请空间之外的内存。如果对越界的内存进行读操作,读取的结果具有随机性且无法预知;如果对越界的内存进行写操作,写入的结果可能破坏其他数据。用智能指针代替普通指针,由于智能指针自带引用计数功能,能够记录动态分配空间的引用数量,在引用计数为零时,自动调用析构函数释放空间。内存越界不属于语法错误,无法通过编译器发现,甚至程序运行初期也不会发生错误,直到某种特定情况下才会由于内存越界导致程序崩溃。要求编程人员对操作的内存空间要有一个明确的认识。
2024-05-20 22:23:23
290
原创 【学习笔记】C++每日一记[20240517]
字符变量ch以及四个指针变量p1,p2,p3,p4都是普通的局部变量,它们保存在栈存储区。堆空间在不断分配和释放空间的过程中,可用空间链表频繁更新,造成可用空间逐渐碎片化,每块可用空间都很小。栈空间有计算机底层支持,压栈和出栈都有专门的指令,效率较高;字符串常量"abc"保存在字符串常量区,指针p1和p2指向同一个字符串变量,所以两个指针变量的值是相同的,指向字符串常量区的同一个地址。程序的最后一行通过malloc在堆存储区动态申请了一块空间,并返回这块空间的首地址,指针p4指向了这个地址。
2024-05-17 21:09:04
427
原创 【学习笔记】C++每日一记[20240516]
两种形式的main函数的返回值都是int类型,虽然有些程序员习惯将main函数的返回值写成void类型,并且在某些编译器上也能够正常执行,但这并不是标准的main函数,标准main函数的返回值是int类型,所以main函数中的最后一行代码是return 0,其中0表示main函数正确结束。main函数也称主函数,许多书上特意强调main函数是整个函数的入口,但这种说法不正确,实际上main函数在执行之前已经做了一些初始化工作,在main函数执行之后也有一些扫尾工作。分配成功,但是存在Debug异常。
2024-05-16 22:24:52
559
原创 【学习笔记】C++每日一记[20240515]
因此,a 的新值实际上是 a 和 b 的各个位不同的部分的组合。事实上,new/delete的功能已经完全覆盖了malloc/free的功能,之所以C++中保留,是为了解决兼容问题,防止C++中调用含有malloc/free的C函数时出现错误。这一步是将 a 和 b 的新值(即之前的 a ^ b)与原来的 b 进行异或运算,并将结果赋给 b。当数组中的元素是自定义类型时,delete在释放空间只会调用数组中收割元素的析构函数,而delete[]在释放空间时会调用数组中所有元素的析构函数。
2024-05-15 17:30:45
344
原创 【学习笔记】C++每日一记[20240513]
*普通全局变量的作用于是整个工程,在头文件中使用extern关键字声明普通全局变量,并在源文件中定义,其他文件只要使用#include包含声明普通全局变量的头文件,就可以在当前文件中使用普通全局变量。如果是表达式,则先分析表达式结果的类型,再确定所占字节数,而并不对表达式实际进行计算。如果在头文件中声明静态全局变量,静态全局变量在声明的同时会被初始化,如果静态全局变量没有显式地初始化则会初始化为默认值,相当于在头文件中同时完成声明和定义,而普通全局变量不能直接定义在头文件中。
2024-05-14 15:03:53
455
SLAM-GO-POST-PRO-V2.0数据处理流程-操作手册
2023-11-12
python导入osmnx库时所需的GEOS&GEOS-C
2020-07-04
免费下载C++头文件<stdafx.h>
2020-05-20
斯坦福兔子点云数据-"博客PCL专栏VS2022与PCL1.12.0的配置"
2022-12-01
全球90mDEM,来自ENVI/data
2022-10-20
python大数据处理练习数据集(公开):datasets-master
2020-09-01
《MATLAB 神经网络30个案例分析》源程序 数据.rar
2021-09-15
博客《【数据挖掘】时间序列分析理论和使用SPSS进行ARIMA模型分析》的实验数据-MOR.xlsx
2020-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2