- 博客(11)
- 收藏
- 关注
原创 C++11 原子操作的内存顺序参数
std::memory_order_acquire是C++11标准库中定义的(memory ordering)枚举值之一,用于(如std::atomic)中,在不使用互斥锁的情况下,控制多线程之间的内存可见性和操作顺序。它确保在当前线程中,不会重排到这个acquire操作之前,并保证对当前线程可见。常见用法:获取锁、加载标志场景1:自旋锁(Spinlock)场景2:发布-订阅模式(单生产者-单消费者)。它必须与另一个线程对的release操作配对,才能真正获得同步保证。acquire。
2026-05-26 17:34:58
411
原创 VTK-抄书笔记(6)下
通过三维扫描仪所获取的实际物体的空间点云数据仅仅表示物体的几何形状,而无法表达内部的拓扑结构。拓扑结构对于实际图形处理以及可视化具有更重要的意义。因此这就需要利用表面重建技术将点云数据转换为面模型,通常为三角网格模型。除此之外,基于图像数据的面绘制技术也是一种应用非常广泛的表面重建技术。本节将着重介绍VTK中的表面重建技术。 三角剖分是一种应用非常广泛 的面重建技术。三角剖分将一些散乱的点云数据部分为一系列的三角形网格。最常用的三角剖分技术是Delaunay三角剖分。Delaunay三角剖分具
2026-02-24 13:17:37
1040
原创 VTK-抄书笔记(6)中
右图为填补后的结果。而网格细化则是利用一定的细化规则,在给定的初始网格中插入新的点,从而不断细化出新的网格单元,在极限细化情况下,该网格能够收敛于一个光滑曲面。vtkDecimatePro接收一个单元为三角网格的vtkPolyData数据,其中函数SetTargetReduction()用于设置变量TargetReduction的大小,将网格面片抽取的比例控制在0~1,这里设置为0.5,说明有50%的三角面片单元将被移除。如果一个模型中含有边界边,则说明该模型不是封闭的,如本例中的模型。
2026-02-09 09:30:23
1031
原创 VTK-抄书笔记(6)上
图形数据的应用非常广泛,最贴近日常生活的应该是3D游戏,其中每个角色的模型、场景等都是图形数据。当然,游戏仅仅是图形数据的一个应用点,图形在CAD(计算机辅助设计)、影视、医学、地质、气象数据建模等领域中均有着广泛的应用。vtkPolyData是VTK中常用的数据结构之一,可以表示小到一个点、一条线,大到一个模型、一个场景等。本章将着重介绍vtkPolyData图形数据及其相关操作。 由第3章的内容可知vtkPolyData主要由几何结构数据、拓扑结构数据和属性数据组成。几何结构数据主要是组成
2026-02-09 09:28:14
1169
原创 VTK-抄书笔记(5)下
图像中不连续的灰度值会产生边缘,图像的边缘检测是基于边界的图像分割方法的基础,例如,分水岭算法通常是分割原图的梯度图像,而梯度实际上也是反映图像的边缘信息。图像边缘通常图像一阶导数和二阶导数来检测。 梯度算子对应于图像一阶导数。图像一阶导数一般是通过差分运算来近似的。VTK中可以用vtkImageGradient类计算图像梯度。注意:图像梯度是一个矢量,具有方向和大小,因此vtkImageGradient的计算结果是一个梯度场,即每个像素值都是一个梯度矢量。显示梯度图像时需要计算每个像素点的梯
2025-12-02 08:43:41
603
原创 VTK-抄书笔记(5)中
源图的像素间隔为(1,1,1),而重采样后像素间隔变为(16,16,1),这是因为采样是在世界坐标系下进行的,当采样图像的维数减小时,采样的像素间隔也随之变大,这样保持图像的区域不会发生改变。合成的效果为三个图像中对应的三个像素点的像素值合成一个RGB像素值,如三个图像中第100个像素的像素值分别为255、0和0,那么该点在输出图像中的像素值为(255,0,0),显示为红色。设置一个灰度阈值,将图像中阈值以下的像素值设置为背景,阈值以上的像素值设置为前景,即可得到一幅二值图像。
2025-12-01 16:12:19
997
原创 VTK-抄书笔记(5)上
数字图像是一种重要的多媒体数据,广泛应用于工业生产、生物医学、地质、气象等重要领域。数字图像处理技术具有重要的应用价值。图像是VTK里非常重要的一种数据结构。本章重点讲解VTK在数字图像处理应用方面的相关技术。
2025-12-01 16:08:20
750
原创 VTK-抄书笔记(4)
对于应用程序而言,都需要处理特定的数据,VTK应用程序也不例外,通过前面章节的学习可知,VTK应用程序所需的数据可以通过两种途径获取:第一种是生成模型,然后处理这些模型数据(如由类vtkCylinderSource生成的多边形数据);第二种是从外部存储介质里导入相关的数据文件,然后在应用程序中处理这些读入的数据(如vtkBMPReader读取BMP图像)。另一方面,VTK也可以将程序中处理完成的数据写入单个文件中,或者将所渲染的场景导出,以备后续操作的使用。
2025-10-10 09:39:02
1094
原创 VTK-抄书笔记(3)
本章主要介绍了VTK中的基本数据结构和相关概念。首先阐述了可视化数据的特点:离散性、结构化/非结构化特点以及维度特性。然后详细讲解了VTK的核心数据结构体系,包括vtkDataObject和vtkDataSet的基本结构,重点分析了数据集的组织结构(几何结构和拓扑结构)和属性数据(标量、矢量、张量等)。此外,还介绍了VTK支持的多种单元类型(线性和非线性)以及不同类型的数据集(如图像数据、多边形数据等)。最后讨论了数据存储方式,包括vtkDataArray的实现机制和vtkFieldData的表达方式。本章
2025-09-01 10:15:55
2182
原创 VTK初学-抄书笔记
数据可视化主要通过计算机图形学的方法,以图形、图像等形式清晰有效地传递、表达信息。随着数据获取手段的多样化以及数据规模的不断增长,数据可视化日益彰显其重要地位。从20世纪90年代起,针对数据可视化编程的工具包应运而生,VTK是其中最具代表性的工具包之一。我这里用的并不是CMake,正如我上面说的那样环境和教材不太一样。但我还是想着记一下毕竟不一定什么时候就能用到。对于使用VTK的开发人员而言,CMake是一个必须了解的工具,CMake的产生与发展也与VTK息息相关。
2025-04-11 14:34:43
2555
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅