链接:vtk7.1.1官方文档

链接:官方示例代码

链接:VTK资源网站(需要什么资源搜索就行,官网示例中的数据集、资源基本都有)


体绘制代码运行不了,一直报错的解决方案

  • 大家应该都看过VTK图形图像进阶那本书了,那本书的VTK版本为5.10.1,随书代码中体绘制部分在VTK7 8 9版本中是不能运行的,需要稍微改一些东西(没有《VTK图形图像进阶》这本书和随书代码的可以找我私聊,我可以发百度网盘)
  • 还需要注意添加:VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2); 否则会报错
#include<vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);
#include <vtkSmartPointer.h>
#include <vtkImageData.h>
#include <vtkStructuredPoints.h>
#include <vtkStructuredPointsReader.h>
#include <vtkVolumeRayCastCompositeFunction.h>
#include <vtkGPUVolumeRayCastMapper.h>
#include <vtkVolumeRayCastMapper.h>
#include <vtkColorTransferFunction.h>
#include <vtkPiecewiseFunction.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkVolumeProperty.h>
#include <vtkAxesActor.h>
#include <vtkImageShiftScale.h>
#include <vtkImageCast.h>
#include <vtkFixedPointVolumeRayCastMapper.h>// ../data/mummy.128.vtk
int main(int argc, char *argv[])
{vtkSmartPointer<vtkStructuredPointsReader> reader =vtkSmartPointer<vtkStructuredPointsReader>::New();reader->SetFileName(../data/mummy.128.vtk);reader->Update();//vtkSmartPointer<vtkVolumeRayCastCompositeFunction> rayCastFun = vtkSmartPointer<vtkVolumeRayCastCompositeFunction>::New();  // 舍弃了vtkSmartPointer<vtkFixedPointVolumeRayCastMapper> volumeMapper = vtkSmartPointer<vtkFixedPointVolumeRayCastMapper>::New();volumeMapper->SetInputDataObject(reader->GetOutput());//volumeMapper->SetVolumeRayCastFunction(rayCastFun);   // 舍弃了vtkSmartPointer<vtkVolumeProperty> volumeProperty =  vtkSmartPointer<vtkVolumeProperty>::New();volumeProperty->SetInterpolationTypeToLinear();volumeProperty->ShadeOn();  //打开或者关闭光照着色volumeProperty->SetAmbient(0.4);volumeProperty->SetDiffuse(0.6);volumeProperty->SetSpecular(0.2);vtkSmartPointer<vtkPiecewiseFunction> compositeOpacity = vtkSmartPointer<vtkPiecewiseFunction>::New();compositeOpacity->AddPoint(70,   0.00);compositeOpacity->AddPoint(90,   0.40);compositeOpacity->AddPoint(180,  0.60);volumeProperty->SetScalarOpacity(compositeOpacity); //设置不透明度传输函数vtkSmartPointer<vtkPiecewiseFunction> volumeGradientOpacity = vtkSmartPointer<vtkPiecewiseFunction>::New();volumeGradientOpacity->AddPoint(10,  0.0);volumeGradientOpacity->AddPoint(90,  0.5);volumeGradientOpacity->AddPoint(100, 1.0);//volumeProperty->SetGradientOpacity(volumeGradientOpacity);//设置梯度不透明度效果对比vtkSmartPointer<vtkColorTransferFunction> color = vtkSmartPointer<vtkColorTransferFunction>::New();color->AddRGBPoint(0.000,  0.00, 0.00, 0.00);color->AddRGBPoint(64.00,  1.00, 0.52, 0.30);color->AddRGBPoint(190.0,  1.00, 1.00, 1.00);color->AddRGBPoint(220.0,  0.20, 0.20, 0.20);volumeProperty->SetColor(color);vtkSmartPointer<vtkVolume> volume = vtkSmartPointer<vtkVolume>::New();volume->SetMapper(volumeMapper);volume->SetProperty(volumeProperty);vtkSmartPointer<vtkRenderer> ren = vtkSmartPointer<vtkRenderer>::New();ren->SetBackground(1, 1, 0);ren->AddVolume( volume ); vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();renWin->AddRenderer(ren);renWin->SetSize(640, 480);renWin->Render();renWin->SetWindowName("VolumeRenderingApp");vtkSmartPointer<vtkRenderWindowInteractor> iren = vtkSmartPointer<vtkRenderWindowInteractor>::New();iren->SetRenderWindow(renWin);ren->ResetCamera();renWin->Render();iren->Start();std::cin.get();return EXIT_SUCCESS;
}

vtk体绘制代码报错的解决办法(代码在vtk7,8,9中都能运行),以及VTK数据集网站相关推荐

  1. 参考 | 洗衣机代码报错E3解决办法

    参考 | 洗衣机代码报错E3解决办法 文章目录 参考 | 洗衣机代码报错E3解决办法 问题 解决 最后 问题 2022年04月10日. 洗衣机坏了, 代码报错E3, 看了顶盖说明, 说是门盖未关好. ...

  2. Python猜数字游戏代码报错的解决办法

    在尝试输入执行经典猜字游戏程序时,出现了奇怪的异常错误. 让我们先来看一下原始代码(在AI Sweigart的著作<Python游戏编程快速上手(第4版)>一书的第20页): import ...

  3. GitLabCICD实战----在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法

    更多信息请关注 个人网站 一.背景 在有些时候,比如在一个项目中,产品的代码是java代码仓,自动化测试脚本是python语言,单独存放的代码仓,在使用GitlabCICD构建流水线的时候有这样一种场 ...

  4. windows10下,from skimage import morphology 报错的解决办法

    windows10下,from skimage import morphology 报错的解决办法 报错原因 没有安装numpy+mkl库 解决方法 卸载skimage pip uninstall s ...

  5. ibatis mysql 同时删多个表报错_MySQL中Multiple primary key defined报错的解决办法

    MySQL中Multiple primary key defined报错的解决办法 创建主键可以有两种方式: create table 表名( 字段名 类型, 字段名 类型, -- primary k ...

  6. git clone出现fatal: unable to checkout working tree报错的解决办法

    [原文链接]git clone出现fatal: unable to checkout working tree报错的解决办法 文章目录 问题:当使用git clone 出现fatal: unable ...

  7. 【ML/DL】python3学习《机器学习实战》书中的报错及解决办法

    python3学习<机器学习实战>书中的报错及解决办法(更新中) <机器学习实战>是一本很不错的书,其采用的是py2的语法格式,在用最新的python3.6编写代码的过程中,书 ...

  8. 谷歌正常,IE报错400 解决办法

    在请求接口的时候,使用的是get方法,如果路径上的参数有中文的时候,这时候在IE浏览器打开就会报错400. 解决办法是:或是改用post方式: 或是 用 encodeURI 进行转码即可: 例如以下的 ...

  9. python中unexpected indent报错的解决办法

    python中unexpected indent报错的解决办法 在我们初步学习pyton的时候,由于对python语言的学习掌握不充分,则会导致所编写的代码,运行时候报错.比如,容易报错的unexpe ...

最新文章

  1. Linux ssh/scp/docker学习
  2. 解除微信回调的Activity必须在包名.wxapi下的限制
  3. Python使用matplotlib可视化箱图、seaborn中的boxplot函数可视化分组箱图、在箱图中添加抖动数据点(Dot + Box Plot)
  4. Java Thread.join()详解
  5. SQL之SELECT语句执行顺序及子句功能
  6. Angular中父子组件传值@Input @Output @ViewChild最全面最简单的总结
  7. springboot配置请求头大小
  8. 不用游标遍历数据库执行脚本
  9. linux进程控制(一)--unix环境高级编程读书笔记
  10. 生存分析——KM生存曲线、hazard比例、PH假定检验、非比例风险模型(分层/时变/参数模型)(二)
  11. JSARToolKit5文档翻译
  12. html状态码206,http状态码204/206/200理解
  13. ADSL拨号工作原理
  14. python实现税后工资_python税后工资计算器
  15. 几种设置开机启动的方法
  16. web SEO简单优化
  17. google真的很简单的
  18. 会计学基础期末考试试题及答案
  19. cpu字长、操作系统字长和jvm中各数据类型占用的字节数关系
  20. javaweb之Html/Hss/JavaScript/BootStrap小结

热门文章

  1. Es 模糊查询 match,wildcard
  2. 讯飞AIUI智能机器人1
  3. ​​​​​​​【目标检测】CenterNet
  4. 使用经验-深度学习云服务器mist GPU
  5. Flux架构思想在度咔App中的实践
  6. DH密钥交换在实践中的安全问题
  7. Excel编程——自动换行
  8. 贴片钽电容的正负极性识别和贴片玻璃二极管的正负极性识别
  9. 物料-贴片电容-标签识别
  10. 单反相机的传奇—佳能单反50年辉煌之路(连载十三)