- 博客(87)
- 资源 (42)
- 收藏
- 关注

原创 windows 程序异常崩溃等错误定位
MAP/映射文件1.MAP 映射文件的作用:MAP文件可以查找崩溃或者程序异常地址,然后就可以精确地定位到源代码中出错的代码行。2.VS中生成MAP文件的方法,项目属性中选择生成映射文件,如下图编译完,会在生成目录生成对应的xxxxx.map文件3.1.程序调试阶段或者发布后(发布程序时需要一起打包生成的对应MAP文件,因
2016-07-07 16:25:01
20259
原创 算法工程师的第一个CUDA程序
2.代码实现文件需要由原来的C++ cpp后缀改为cu后缀,main入口函数形式一样的。1.Windows平台的点云处理CUDA算法,先写CMakeList。这是读取一个大量点云文件,然后对点云缩放处理。
2025-04-03 13:53:42
155
原创 团队项目怎么使用vcpkg有效管理第三方依赖库
将 vcpkg 作为项目子模块(Submodule),并通过脚本或 CMake 自动安装所需库!成员使用 CMake 生成项目时,vcpkg 会自动提供 第三方库的依赖路径。提交子模块信息到项目仓库,其他成员克隆项目时需添加。
2025-03-03 18:54:43
163
原创 一个完整项目的CMakelists文件编写——使用PCL重建三维点云
【代码】一个完整项目的CMakelists文件编写——使用PCL重建三维点云。
2025-02-25 16:45:34
111
原创 口腔扫描仪(口扫)核心算法——点云滤波去噪算法
口腔扫描仪的点云滤波去噪算法通过多种方法结合,能够有效去除噪声点,提高点云数据的质量,为后续的三维重建和临床应用提供更准确的几何信息。
2025-02-07 07:48:00
534
原创 口腔扫描仪(口扫)核心算法——点云三维重建
口腔扫描仪算法的核心在于高精度实时重建与复杂环境鲁棒性的平衡,未来趋势将向AI驱动的自动化、多物理场融合(力学+光学)方向发展。临床应用中,算法需通过FDA/IEC 60601认证,确保安全性与可重复性。
2025-02-06 18:51:47
1110
原创 口腔扫描仪(口扫)核心算法——结构光条纹编码三维重建
结构光条纹编码技术是口腔扫描仪的核心算法,通过优化编码方式和解码算法,能够实现高精度、高稳定性和高效率的三维重建。未来的研究方向包括进一步优化编码图案、提高动态扫描精度以及降低设备成本。
2025-02-06 08:45:24
467
原创 三维网格处理开源软件meshlab源码编译
meshlab 里面要记得src里的vcglib 自己去下载。需要注意的是这里需要Qt5的环境配置。1. github 下载源码。2.CMake 编译。
2025-01-26 09:16:37
223
原创 windows 编译magnum
2.编译选项,依赖库 corrade 已编译安装到D:\dev\corrade-install。1.下载源码,准备编译,先下载 glfw 和corrade 编译cmake 步骤一样。编译禁用SDL2 启用 GLFW 作为窗口管理。配置编译支持GLFSDL2。
2025-01-17 16:50:51
233
原创 Graph Cut 图割 三维网格分割初探
Graph Cut 在三维网格分割中的应用是一个非常重要且广泛的研究领域,尤其在医学图像分析(如3D肿瘤分割)和计算机图形学(如网格表面分割)中。Graph Cut 2D图像分割方面的应用广泛,也是大家所熟知的,但是对于图割应用到三维领域,我也是第一次在三维相关项目工作中了解,对于3D图割的一些基本的知识点,做一下简单的梳理,以便自己加深理解。三维网格由顶点(vertices)、边(edges)和面(faces)组成,可以看作是三维空间中的离散点集合或表面表示。
2025-01-13 08:11:52
130
原创 Windows程序WPF、MFC等,重定向控制台输出打印信息
/ 重定向 stdout。// 同步 C++ 和 C 的标准流。// 创建控制台窗口。// 将标准输出重定向到控制台。
2025-01-11 13:00:45
136
原创 TortoiseSVN 文件夹以及文件不显示差异感叹解决步骤
打开注册表,重命名TortoiseSVN 相关项,前面加上三四个空格,重启电脑即可。直接修改注册表,把TortoiseSVN图标悬浮注册项提前,靠后就不显示,
2024-11-01 09:25:59
477
原创 解决使用PCL 报错C2116,“FindFirstFileA”: 无法重载具有外部 “C“ 链接的函数
解决办法直接,项目属性添加预定义:NOMINMAX。
2024-05-27 08:41:04
310
原创 三维图形学知识分享---求平面与模型相交线
在CGAL(Computational Geometry Algorithms Library)中,Polygon_mesh_processing模块提供了用于处理多边形网格数据结构的功能。其中,surface_intersection函数是用来计算模型的表面相交线的工具。
2024-04-26 20:03:01
539
原创 三维图形学知识分享--三角剖分网格细分详细代码实现
该算法将每个四边形分割成四个新的四边形,并生成新的顶点,然后根据一定的规则对顶点进行移动。:Doo-Sabin 细分也是一种基于四边形网格的迭代细分方法,它将每个四边形分割成若干个新的四边形,并生成新的顶点。:这是最简单的细分方法之一,它将每个三角形或四面体分割成若干个更小的三角形或四面体,保持原始网格的形状和拓扑不变。这样可以使得网格更加平滑,但是可能会改变原始网格的形状。对于由不规则三角形或四面体组成的网格,细分可以改善网格的质量,使其具有更均匀的形状和大小,从而提高数值计算的精度和稳定性。
2024-04-26 09:06:57
711
原创 三维图形知识分享-泊松(Poisson)重建详细源码
很多开源库都实现了经典的泊松重建算法,PCL点云处理库、CGAL等等有名的三维几何算法库,在实际使用中,CGAL库的实现泊松重建比较易懂,下面是一个完整的例子。泊松重建 (Poisson reconstruction) 是一种流行的点云表面重建算法,它通过求解一个泊松问题来构建点云数据的表面。下面是另一个简化版实现。
2024-04-26 06:32:41
886
原创 三维图形学基础-三维点集求凸包算法
在计算凸包时,我们想要找到一个最小的凸多面体,它包含了给定点集合中的所有点,并且多面体的边界是由这些点确定的。凸包在计算机图形学、地理信息系统、机器人运动规划等领域中都有广泛的应用。之前文字有讲到CGAL这个几何算法库,里面就有计算凸包的算法,详细的可以阅读源码文件,这里写一个使用CGAL求解三维空间中点集凸包计算。
2024-04-25 17:19:05
579
原创 三维图形程序员必学-CGAL几何算法
GCAL几何算法库,涵盖了很对数学几何算法,矩阵运算、平面拟合、曲线拟合、曲面重建、网格优化、网格剖分、面线相交、布尔运算等等各种图形学几何相关的算法。CGAL是一个开源代码库,官网连接。
2024-04-25 12:37:38
791
原创 三维图形程序员入门-openmesh
三维网格入门第一篇,学习使用openmesh,三维模型的读取、存储有自己的数据结构,要想详细了解就开始学习openmesh,openmesh是开源的一个三角网格处理库,有三维顶点、面片、边、半边等,还有遍历算法、法向求解等等三维图形基础知识。// 遍历并输出每个顶点的坐标。// 定义一个网格对象。// 读取OBJ文件。openmesh官网。
2024-04-25 08:43:49
477
原创 C++ 字符串中识别取出非中文字符
/ 对于UTF-8编码中的中文字符,其第一个字节的最高位至少有三个1,例如 1110xxxx (E0-EF)i += num_bytes;// 跳过整个中文字符。// 计算UTF-8编码的中文字符字节数。// 非中文字符,直接添加到结果中。// 而对于单字节的ASCII字符,最高位是0。// ASCII编码字符。
2023-12-23 13:48:18
312
原创 编译libigl笔记
2.error C3861: “_BitScanForward64”: 找不到标识符 win32修改成_BitScanForward。1.最好需要翻墙软件,CMake时会随时下载依赖资源。
2023-11-09 17:30:44
190
原创 C++内存泄漏排查经验分享
要检查代码中的循环引用,可以使用调试器或内存分析工具来检查代码中的循环引用。要检查内存分配,可以使用调试器或内存分析工具来检查代码中的内存分配。首先,要找出内存泄漏的原因,必须分析代码。可以查看代码中创建的对象,尤其是动态分配的对象,查找是否有不当的释放或内存泄漏的迹象。在编写代码时,应该尽量避免不必要的内存分配和释放,尽可能缩短代码的执行时间。使用内存池可以确保正确地分配和释放内存,从而减少内存泄漏的风险。总之,要找出 C++内存泄漏的原因,必须仔细分析代码并使用各种工具和技术来检查内存分配和释放情况。
2023-05-30 07:38:27
2054
1
原创 智能指针你用对了码?有啥优缺点?
3.不适用于所有场景:智能指针主要适用于手动管理内存的场景,对于自动管理内存的场景可能不适用。2.安全性:智能指针会自动检测指针的使用情况,如果指针被非法访问,则会触发异常。因此,需要花时间学习和掌握智能指针的使用方法。总的来说,智能指针是 C++ 中一个非常重要的特性,可以提高代码的安全性和效率,但需要谨慎使用,避免出现不必要的问题。智能指针是 C++ 中的一种特殊类型指针,它提供了更加灵活和安全的内存管理功能。3.效率:智能指针可以自动管理内存,因此可以提高代码的效率,减少内存分配和释放的次数。
2023-05-30 07:30:33
1218
原创 提高C++技能的几点建议
通过参与开源项目,可以学习到其他程序员的编码技巧和最佳实践,提高自己的编程能力。此外,还可以学习到其他程序员的代码审查和反馈,有助于提高代码质量和开发效率。编写高质量的 C++程序,需要遵循一些最佳实践,例如使用有意义的变量名、编写清晰易懂的代码、避免冗余代码等。总之,要提高 C++技术能力,需要不断学习和实践。掌握 C++基础语法和面向对象编程,熟悉 C++标准库,提高代码质量,参与开源项目等,都是提高 C++技术能力的有效途径。熟悉标准库中的函数和类,可以提高程序的性能和可维护性。
2023-05-30 07:27:36
211
原创 当用CGAL BOOST出现编译莫名其妙问题时
_CRT_SECURE_NO_WARNINGS_USE_MATH_DEFINESCGAL_NO_GMPWIN32
2021-05-13 09:07:09
164
原创 vs2010 ocx项目中使用ffmpeg release版本注册提示缺少DLL
1. 最近使用ffmpeg 做视频播放插件,release 发布的ocx注册提示失败,但是debug版本就可以注册成功2.后来查询了很多资料发现是vs2010编译器问题,需要设置编译优化选项,引用为 OPT:NOREF,就是编译时保留为引用的函数或数据,这样编译出来的ocx 注册时就不会报错了,所以debug没问题release 有问题时可以考虑编译器优化导致的包括运行稳定问
2017-11-22 21:49:30
526
原创 QT 选中QListView 指定行
1.QStandardItemModel *m_listviewmodel_;QListView *listView_servicels;2.m_listviewmodel_ = new QStandardItemModel(10,1);// 行列ui.listView_servicels->setModel(m_listviewmodel_);3.QModel
2016-12-06 14:35:21
12997
原创 QT 渐变
QPainter painter(canvas); //widget_memwd作为画图对象? QPixmap m_pBg;m_pBg.load("Resources/UI/bk_line.png");QLinearGradient gradient(0, COLOR_GRADIENT, 0, 0);gradient.setColorAt(0.0, QColor(82,211
2016-12-06 14:31:19
454
原创 debian pjsip 编译
1. debian 从svn 获取想要的pjsip源码版本 svn checkout http://svn.pjsip.org/repos/pjproject/tags/2.5.52. 下载完,开始编译 $ ./configure $ make dep && make clear && make
2016-07-23 18:20:08
501
转载 debian 编译freeswitch
wget -O - https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - echo "debhttp://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" >/etc/apt/
2016-07-23 08:41:10
1163
转载 QT 网络编程
Network Programming with QtThe Qt Network module offers classes that allow you to write TCP/IP clients and servers. It offers lower-level classes such asQTcpSocket,QTcpServer andQUdpSocket t
2016-07-01 15:42:45
833
原创 Activex 控件编程入门实例
直接上图,使用vs2008IDE1.新建 Activex项目2.自动生成项目文件 3. 现在添加自己的方法供外部调用 4.实现添加的方法5.编译生成项目,在生成目录下可以看到6.新建一个MFC对话框项目测试使用控件选择刚才的控件
2016-06-29 11:04:54
2009
原创 ubuntu 16 默认启动进入 字符界面
sudo vi /etc/default/grub注释掉 GRUB_CMDLINE_LINUX_DEFAULT=”quiet”, 修改GRUB_CMDLINE_LINUX=”" to GRUB_CMDLINE_LINUX=”text”去掉 GRUB_TERMINAL=console 前的 #sudo update-grub sudo systemctl
2016-06-25 08:10:26
948
筛选的泊松表面重建技术概述
2025-04-08
【计算机图形学】松表面重建:基于泊松方程的三维表面重建技术及其应用
2025-04-08
mpir-mpir-2.7.0+vsyasm-1.3.0-win64,直接可成功编译
2023-03-08
VMware虚拟机搭建Ubuntu-超详细
2023-03-01
测地线路径和距离算法综述 三维模型算法 曲率算法
2022-10-09
三维点云的特征点提取与配准技术研究
2022-06-16
深度学习在无人驾驶汽车领域应用的研究
2022-06-14
六自由度关节式机器人控制系统开发
2022-06-14
双目立体视觉深度感知与三维重建若干问题研究
2022-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人