
VTK
文章平均质量分 50
榴莲小怪兽
所有文章仅仅提供给自己做记录贴用,不足之处欢迎指正
展开
-
网格生成之marching cube算法学习笔记
转载地址:https://www.jianshu.com/p/5a6ade7b77b6前言在学习网格生成算法的计划中,建议大家先了解Marching Cube(MC),为什么呢,他也不是一个端到端的网格生成算法?因为很多连续算法在最后提取等值面的时候都会采用marching cube或其改进版本,可以说是很多算法的最后一步。如果不理解这一步怎么做的,也很难理解其他算法之前的那么多计算的目的是什么。除此之外可以大大简化其他算法的解释过程,最后一步,就可以忽略不解释了。所以我们大家开始吧。提前了解在前言转载 2022-02-17 11:04:06 · 2073 阅读 · 1 评论 -
vtk开源库学习网站
1、官网:https://vtk.org/2、各大博客博客1:c++和c++技术博客博客2:沈子恒博客3:东灵工作室原创 2021-11-23 14:02:29 · 1763 阅读 · 0 评论 -
vtk-读取数据文件中的坐标点
原文链接:https://blog.youkuaiyun.com/chinamming/article/details/16860051在实际计算中,常常需要大量的数据, 这个时候数据文件就必不可少, 例如数据文件points.dat, 中存放了三个点的坐标,0.0 0.0 0.01.0 0.0 0.00.0 1.0 0.01.0 1.0 0.0读取坐标文件最简单的方法就是使用vtkSimplePointsReader, 比如下面的形式 vtkSmartPointer<vtkSim转载 2021-04-06 16:17:33 · 740 阅读 · 0 评论 -
vtk-显示vti格式的数据
#include <vtkSmartPointer.h>#include <vtkProperty.h>#include <vtkDataSetMapper.h>#include <vtkImageActor.h>#include <vtkImageViewer2.h>#include <vtkXMLImageDataReader.h>#include <vtkRenderWindow.h>#include &原创 2020-10-10 16:56:02 · 1969 阅读 · 4 评论 -
vtk-将当前窗口图像保存
//vtk里将当前窗口图像保存 vtkWindowToImageFilter *wif = vtkWindowToImageFilter::New(); vtkBMPWriter *bmpw = vtkBMPWriter::New(); wif->SetInput(renwin->GetVTKWindow()); bmpw->SetInputConnection(wif->GetOutputPort()); // bmpw->SetFi转载 2020-10-10 15:56:36 · 957 阅读 · 0 评论 -
VTK -SurfaceReconstruction
链接:1.https://blog.youkuaiyun.com/hw140701/article/details/527962902.https://blog.youkuaiyun.com/HopefulLight/article/details/79157144?utm_source=blogxgwz6经典的Signed Distance Function重建算法主要流程如下:1、对每个数据点,搜索其邻域数据点,使用特征向量方法计算法线和法平面2、由于法线的方向可有正负两个不确定,故对全局使用最小生成树近似计算法线朝转载 2020-08-27 15:45:43 · 2112 阅读 · 0 评论 -
VTK-vtkPolyDataNormals 计算法向量
原文链接:https://blog.youkuaiyun.com/theArcticOcean/article/details/86228697///////////////////////////<vtkPolyDataNormals>////////输出点的法向量/////////////////////////////#include <vtkSmartPointer.h>#include <vtkPolyDataReader.h>#include <vtkPo转载 2020-08-17 10:34:27 · 2279 阅读 · 1 评论 -
VTK-多帧DICOM图像的读取
原文链接:https://blog.youkuaiyun.com/yu253/article/details/78314513?utm_source=blogxgwz9#include <vtkSmartPointer.h>#include <vtkObjectFactory.h>#include <vtkRenderWindow.h>#include <vtkRenderWindowInteractor.h>#include <vtkRenderer.h转载 2020-07-02 09:15:36 · 1857 阅读 · 0 评论 -
VTK-计算两个模型的距离DistancePolyDataFilter
官网教程:https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/DistancePolyDataFilter/#include <vtkSmartPointer.h>#include <vtkActor.h>#include <vtkDistancePolyDataFilter.h>#include <vtkPolyDataMapper.h>#include <vtkRenderer原创 2020-07-01 11:05:42 · 2841 阅读 · 2 评论 -
VTK-模型的颜色映射
原文链接:https://blog.youkuaiyun.com/qq_37996632/article/details/106044996#include <vtkActor.h>#include <vtkFloatArray.h>#include <vtkLookupTable.h>#include <vtkPointData.h>#include <vtkPolyData.h>#include <vtkPolyDataMapper.h&转载 2020-07-01 17:36:55 · 3095 阅读 · 0 评论 -
体绘制-vtkVolumeMapper
在VTK中,vtkVolumeRayCastMapper类(在VTK8.x.x已被移除)可用于实现光线投射体数据算法,并生成渲染图元数据传递给vtkVolume对象进行渲染。vtkVolumeRayCastMapper类采用软件方法来实现光线投射算法,精度高但是计算量比较大。其内部两个最重要的函数:SetVolumeRayCastMapper::SetInput(vtkImageData*) //该函数用于设置输入图像数据。SetVolumeRayCastMapper::SetVolumeRay(v转载 2020-05-14 17:55:09 · 1987 阅读 · 4 评论 -
VTK-图像类型转换
1.vtkImageCast图像数据类型转换在数字图像处理中会被频繁地用到。一些常用到的图像算子(例如梯度算子)在计算时出于精度的考虑,会将结果存储为float或者double类型。但是在图像显示时,一般需要图像为unsigned char类型。VTK中最常用到的是VTKImageCast类型。其使用方法如下:vtkSmartPointer imgCast =vtkSmartPointe...转载 2020-04-17 15:34:12 · 1073 阅读 · 0 评论 -
VTK & OpenCV-读取DICOM图像返回它的像素矩阵
工作思路整个工作,最难的就是CT图的正确读取。本人处理的CT图的格式是DICOM格式,这个用OpenCV不能直接读取,我采用了VTK进行读取,然后用OpenCV处理的思路(当然网上也有人说可以直接用ITK读取并处理,只是我不熟悉ITK,所以没有用它)。DICOM图像的读取其实读取DICOM图像不难,主要的要注意在使用VTK读取的时候,要记得转换数据类型,要使用imagecast转到doubl...转载 2020-04-13 15:33:26 · 1543 阅读 · 1 评论 -
vtk-平滑
vtkSmartPointer<vtkSmoothPolyDataFilter> smooth = vtkSmoothPolyDataFilter::New(); smooth->SetInput( skinExtractor->GetOutput()); smooth->SetNumberOfIterations( 100 );原创 2020-04-09 10:40:30 · 277 阅读 · 0 评论 -
三维空间几何变换原理[平移、旋转、错切]
转载:https://blog.youkuaiyun.com/shenziheng1/article/details/51227962透视变换是存在形变才有的,形状不变这个就是0 0 0注意:vtk里的矩阵平移和透视位置是换了的即H=[A T ]` ``[ P S]ATPS组成了一个矩阵,这里不好写就这么表达了吧...转载 2020-03-12 10:19:51 · 2121 阅读 · 0 评论 -
保存vtkMatrix4x4矩阵到文件中
vtkMatrix4x4是VTK中的一个表示4x4矩阵的一种数据结构,有时候我们想把其保存到一个文件中,那么可以使用如下的代码:void writeVtkMatrix4x4ToFile(const vtkMatrix4x4 *m, char *filename) { ofstream fout(filename); if(!fout) { cout<<...转载 2020-03-12 10:01:11 · 1441 阅读 · 0 评论 -
vtk-对输入的三维模型在某个方向等间距提取模型的切面轮廓线
#include <vtkSTLReader.h>#include <vtkSmartPointer.h>#include <vtkCutter.h>#include <vtkPolyDataMapper.h>#include <vtkPlane.h>#include <vtkProperty.h>#include...转载 2020-02-28 17:54:09 · 1219 阅读 · 0 评论 -
VTK-图像切面提取
切片(Slice)或切面是三维图像比较常用的概念,尤其在医学图像中。通过提取切面可以方便地浏览和分析图像内部组织结构。VTK中vtkImageReSlice类可以实现图像切面的提取。在实际开发中,四视图中冠状视面、矢状面和横断面(显示过图像内部一点且平行于XY、YZ、XZ平面的平面),需要用到此类。#include <vtkSmartPointer.h>#include <v...转载 2020-02-27 17:29:20 · 2562 阅读 · 1 评论 -
输入两个STL文件并渲染设置透明度
(一)下面这两个一起使用来改变actor的颜色:mapper->ScalarVisibilityOff();actor->GetProperty()->SetColor(1, 0, 0);(二)下面这个用来设置透明度:actor1->GetProperty()->SetOpacity(0.5);//透明度#include <vtkSTLReader.h...原创 2020-02-27 14:22:45 · 1475 阅读 · 1 评论 -
vtk-PolyData/DownsamplePointCloud
官方例子:https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/DownsamplePointCloud/#include <vtkSmartPointer.h>#include <vtkPointSource.h>#include <vtkPolyData.h>#include <vtk...转载 2020-01-03 11:06:34 · 419 阅读 · 0 评论 -
vtk-计算重心
输入为X、Y、Z 三个值,计算重心 std::string filename = "../data/test"; std::ifstream filestream(filename.c_str()); //文件流 std::string line; vtkSmartPointer<vtkPoints> m_Points = vtkSmartPointer...原创 2020-01-02 17:27:27 · 859 阅读 · 0 评论 -
Vtk-投影到面
(一) 单个点投影到面#include <vtkSmartPointer.h>#include <vtkPlane.h>int main(int argc, char *argv[]) { double projected[3];//这里放投影后的点的坐标 double x[3] = {26.8539, 24.0056, 9.71558}; //待投影...原创 2020-01-02 17:07:42 · 1837 阅读 · 0 评论 -
vtk-ExtractSurface(官例)
转载:https://vtk.org/Wiki/VTK/Examples/Cxx/Points/ExtractSurface#include <vtkSmartPointer.h>#include <vtkPLYReader.h>#include <vtkXMLPolyDataReader.h>#include <vtkOBJReader.h>...转载 2020-01-02 11:22:25 · 1280 阅读 · 0 评论 -
opencv和vtk混合的CMakeLists.txt
总是忘记,记录一下cmake_minimum_required(VERSION 3.1)set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED TRUE)project(vtkopencv_SUM)set(OpenCV_DIR "/usr/local/opencv4.0/lib/cmake/opencv4")find_pa...原创 2019-12-31 11:19:58 · 455 阅读 · 0 评论 -
利用ICP进行点云配准(两个输入为txt)
详细流程://https://lorensen.github.io/VTKExamples/site/Cxx/Filtering/IterativeClosestPointsTransform///渲染出来红色为source这是待转换的点云;绿色为target,这是金标准;蓝色为solution后的结果由source向金标准转换#include <vtkSmartPointer.h&g...原创 2019-12-31 09:45:47 · 520 阅读 · 1 评论 -
VTK读取stl文件用D算法计算指定两点之间的最短路径经过的点
转载:https://blog.youkuaiyun.com/wolfcsharp/article/details/84886128基本流程:(1)读入stl文件(2)设置起点,终点(3)计算最短路径(4)打印一条最短路径经过的所有点的索引(5)在原三维结构中画出最短路径并显示#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingO...转载 2019-12-13 12:06:10 · 374 阅读 · 1 评论 -
VTK-VtkCutter与VtkClipPolydata的例子
VtkCutter剪切的结果是模型与截面的交线;VtkClipPolydata剪切的结果是原模型的一部分。1、VtkCutter剪切实现的效果图 :(至今我还没会调整截面的大小,头疼)像这种情况我理想状态右边时没有任何交线的,但是这个创造的平面好像无穷大也不知道咋调,只能等我再学学后面来尝试吧!!2、VtkClipPolydata剪切实现的效果图 :...原创 2019-12-13 11:45:20 · 3283 阅读 · 3 评论 -
vtkNew的使用
今天才知道有vtkNew的存在,随便在网上找了一篇例子学习参考。。。。。要知道之前我都是这种:vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();不然就是这样的:vtkPolyData *polydata = functionSource->GetOutput...原创 2019-12-12 17:33:54 · 3422 阅读 · 1 评论 -
vtk-vtkplane的使用
参考:https://www.cnblogs.com/ankier/archive/2012/12/27/2835195.htmlvtkPlane 提供各种平面计算的方法。这些包括投影点,评估平面方程,和返回平面的法向量。vtkPlane 是抽象类 vtkImplicitFunction 的具体实现。主要用在做体数据上的面的切割(cutter)(一)基本方法:1、 EvaluateGra...原创 2019-12-11 17:03:25 · 3457 阅读 · 4 评论 -
vtk-两种方法读取点坐标
vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New(); FILE *fp = NULL; fp = fopen("../data/daosi.txt", "r"); if(!fp) { printf("打开文件失败!!\n"); ...原创 2020-01-02 17:13:59 · 4907 阅读 · 1 评论 -
vtk--设置多个平面vtkplanes(没用上)
//------------------///---设立多个平面------------///---------------/// vtkSmartPointer<vtkPoints> pointss = vtkSmartPointer<vtkPoints>::New(); vtkSmartPointer<vtkFloatArray> Norma...原创 2020-01-02 17:14:35 · 1217 阅读 · 0 评论 -
VTK-创建一个平面
#include <iostream>using namespace std;#include <vtkVersion.h>#include <vtkPlaneSource.h>#include <vtkPolyData.h>#include <vtkSmartPointer.h>#include <vtkPolyDat...原创 2019-12-10 10:08:31 · 3043 阅读 · 1 评论 -
ubuntu下VTK--remote模块的添加
1、找到源码remote文件夹下的CMakeLists.txt,打开进行一丁点儿的修改,真的时一丢丢的修改,这个模块花了我一天的时间也没弄好,请教之后发现只要改一点儿就好,remote_module MATCHES “/\.”# Functions to fetch remote modules.include(vtkModuleRemote)file(GLOB remotes "*.re...原创 2020-01-02 17:18:01 · 870 阅读 · 0 评论 -
remote文件夹下面原本的内容
## Midas Journal 838#vtk_fetch_module(SplineDrivenImageSlicer "Spline Driven Image Slicer - http://www.vtkjournal.org/browse/publication/838" GIT_REPOSITORY https://github.com/lorensen/midas-j...原创 2019-12-03 17:18:13 · 909 阅读 · 0 评论 -
VTK-输出含有两个对象的polydata 数据
...........................上面略.................... //输出含有两个对象的polydata 数据会用到vtkAppendPolyData vtkSmartPointer<vtkAppendPolyData> appendFilter = vtkSmartPointer<vtkAppendPolyData&...原创 2019-12-02 15:14:01 · 705 阅读 · 0 评论 -
VTK在同一窗口中同时显示多个渲染结果
前几个月看的发现又忘了,还是记录一下吧 vtkConeSource cone = new vtkConeSource(); //设置圆锥的高度和半径 cone.SetHeight(3); cone.SetRadius(1); //设置分辨率,值越大,越趋近于圆锥体 cone.SetR...转载 2019-12-02 15:11:21 · 3147 阅读 · 0 评论 -
WIN10下安装VTK流程
人生中第一篇博客,自己忘性大,仅记录自己学习的过程,到时候需要的时候可以回头看方便。##(一)博文参考我的安装过程主要参照的下面2篇博文:1添加链接描述2添加链接描述##(二)准备工作1、win10系统2、Visual Studio2019 community(官网地址下载)3、cmake-3.15.2-win64-x64(官网下载地址)4、VTK8.2.0(官网下载地址)##...原创 2019-11-06 11:44:38 · 5571 阅读 · 0 评论