VTK读取DCM保存成png

2023-05-16

VTK读取DCM保存成png

#include <vtkSmartPointer.h>
#include <vtkImageViewer2.h>
#include <vtkDICOMImageReader.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkPNGWriter.h>
#include <vtkImageCast.h>

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2)

int main(int argc, char* argv[])
{
    // Verify input arguments
    //if (argc != 2)
    //{
    //  std::cout << "Usage: " << argv[0]
    //      << " Filename(.img)" << std::endl;
    //  return EXIT_FAILURE;
    //}

    std::string inputFilename = "/home/tiger/dicom/data/test/004/CT_5fd5cc06429eb17f.dcm";

    // Read all the DICOM files in the specified directory.
    vtkSmartPointer<vtkDICOMImageReader> reader =
        vtkSmartPointer<vtkDICOMImageReader>::New();
    reader->SetFileName(inputFilename.c_str());
    reader->Update();

    // Visualize
    vtkSmartPointer<vtkImageViewer2> imageViewer =
        vtkSmartPointer<vtkImageViewer2>::New();
    imageViewer->SetInputConnection(reader->GetOutputPort());
    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
        vtkSmartPointer<vtkRenderWindowInteractor>::New();
    imageViewer->SetupInteractor(renderWindowInteractor);
    imageViewer->Render();
    imageViewer->GetRenderer()->ResetCamera();
    imageViewer->Render();

    vtkSmartPointer<vtkImageCast> castFilter =
        vtkSmartPointer<vtkImageCast>::New();
    castFilter->SetOutputScalarTypeToUnsignedShort();
    castFilter->SetInputConnection(reader->GetOutputPort());
    castFilter->Update();

    vtkSmartPointer<vtkPNGWriter> writer =
        vtkSmartPointer<vtkPNGWriter>::New();
    writer->SetFileName("out.png");
    writer->SetInputConnection(castFilter->GetOutputPort());
    writer->Write();

    renderWindowInteractor->Start();

    return EXIT_SUCCESS;
}
// CMakeLists.txt
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)

project(AnimateActors)

find_package(Qt5 REQUIRED Widgets)

# opencv
find_package(OpenCV REQUIRED )

find_package(VTK COMPONENTS
  vtkCommonColor
  vtkCommonCore
  vtkCommonDataModel
  vtkFiltersSources
  vtkInteractionStyle
  vtkRenderingContextOpenGL2
  vtkRenderingCore

  vtkIOExport
  vtkInteractionImage

  vtkRenderingFreeType
  vtkRenderingGL2PSOpenGL2
  vtkRenderingOpenGL2
  QUIET
)

if (NOT VTK_FOUND)
  message("Skipping AnimateActors: ${VTK_NOT_FOUND_MESSAGE}")
  return ()
endif()
message (STATUS "VTK_VERSION: ${VTK_VERSION}")
if (VTK_VERSION VERSION_LESS "8.90.0")
  # old system
  include(${VTK_USE_FILE})
  add_executable(AnimateActors MACOSX_BUNDLE AnimateActors.cxx )
  target_link_libraries(AnimateActors PRIVATE ${VTK_LIBRARIES} ${OpenCV_LIBS} Qt5::Widgets)
else ()
  # include all components
  add_executable(AnimateActors MACOSX_BUNDLE AnimateActors.cxx )
  target_link_libraries(AnimateActors PRIVATE ${VTK_LIBRARIES} ${OpenCV_LIBS} Qt5::Widgets)
  # vtk_module_autoinit is needed
  vtk_module_autoinit(
    TARGETS AnimateActors
    MODULES ${VTK_LIBRARIES}
    )
endif ()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VTK读取DCM保存成png 的相关文章

  • 使用 PHP 实现 PNG 透明度

    嘿 当我从 png 创建缩略图时 试图保持 png 的透明度时遇到了一些麻烦 有人有这方面的经验吗 任何帮助都会很棒 这就是我目前正在做的事情 fileName js ajaxupload tees fileName list width
  • 对于 iOS 上的所有图像文件,PNG 是否优于 JPEG?

    Xcode 优化了 png 图像 以便它们加载得更快 但是这是否也推荐用于其他不用于按钮和 UI 的图像资源 例如照片 或者 UI 图像为 png 且 照片 为 JPEG 是一个标准吗 这里的最佳实践是什么 最佳实践是在应用程序中使用图像时
  • Java ImageIO.read 导致 OSX 挂起

    我必须在 Mac OSX 上读取图像时执行一些操作 但是在调用 ImageIO read File 时它似乎挂起 似乎也没有出现堆栈跟踪 它实际上只是挂起 想知道其他人是否遇到过这个问题 我已经成功地写了一张图片 只是阅读方面似乎有问题 使
  • 从 Shiny (R) pt 下载 png。 2

    这与我之前问过的一个问题有关 从 Shiny R 下载 png https stackoverflow com questions 26764481 downloading png from shiny r 我现在已经创建了多个闪亮的图并下
  • iOS PNG图像旋转90度

    在我正在编写的 iOS 应用程序中 我处理 PNG 因为我处理 Alpha 通道 由于某种原因 我可以将 PNG 加载到我的imageView很好 但是当需要将图像从我的应用程序复制到粘贴板上或将图像保存到我的相机胶卷时 图像会旋转 90
  • 无效的 PNG 图像文件:iDOT 未指向有效的 IDAT 块

    我的应用程序中有一些 HTML 内容页面 我使用 UIWebView 来显示它们 其中一些页面包含 PNG 图像 该图像在 xcode 的调试控制台中生成以下消息 ImageIO PNG invalid PNG file iDOT does
  • 使用具有多行的 imagettftext 函数?

    我正在使用 php 创建透明文本 gt png 图像 到目前为止一切顺利 唯一的问题是我希望能够由于固定宽度而使文本自动换行 或者能够在文本中插入断线 有没有人有任何经验这样做 这是我的代码
  • C# - 如何更改 PNG 质量或颜色深度

    我应该编写一个程序 从用户那里获取一些 PNG 图像 进行一些简单的编辑 例如旋转 并将它们保存在 JAR 文件中 以便它可以使用图像作为资源 问题是 当我打开一个 80kb 图像 然后用 C 保存它时 我会得到一个具有相同质量但占用 13
  • Java Swing 中的 PNG 渲染不良(颜色深度低)

    我目前正在使用 swing 在 java 中设计吃豆人 我有使用以下语句在屏幕上绘制的 PNG 图像 wall new ImageIcon GamePanel class getResource wall png getImage g2d
  • 在Python中,如何在图像上写入文本,并在其上覆盖另一个图像?

    我需要在 Python 中将一些文本放在 PNG 图像上 我还需要将另一个图像放在第一个图像上 因此 我将有一个基本图像 创建的每个图像都相同 一个放在左上角的徽标以及整个图像上的文本 非特定字体 我只需要设置字体大小 我可以使用 PIL
  • PIL:将模式“I”的图像转换为“RGB”会产生全白图像

    据我所知 这个问题末尾的图像是模式 I 的 PNG 它代表 索引 我正在尝试创建一个缩略图 并使用 PIL 将其保存为 JPG 然而 我是否离开了mode独自一人 PIL 不会让我错误地调整它的大小unable to generate th
  • 使用 Prawn 使用 Base64 图像生成 PDF

    我正在尝试将多个 png 保存在一个 pdf 中 我从对 Endicia 标签服务器的 API 调用接收 PNG 该服务器向我提供 Base64 编码图像作为响应 基于这个问题 如何使用 Prawn 将 base64 字符串转换为 PNG
  • Python 将 DXF 文件转换为 PDF、PNG 或 JPEG

    有谁知道将 DXF 文件转换为 PNG 或 PDF 的方法吗 我有一个巨大的 DXF 文件列表 我想将它们转换为图像以便更快地查看它们 如果可能的话 如何提取 DXF 文件值 例如 DXF 文件中绘图的厚度或尺寸 https github
  • PNG 文件格式的 IDAT 块

    我目前正在开发一种基于 png 文件格式的专有文件格式 到目前为止我已经完成了 只是它不起作用 p 我实现的 deflate 解压缩器工作起来就像一个魅力 但 png 解码器不想很好地执行 所以我看了一下原始的 png 文件 该标准规定 在
  • 如何使用Python 2.7.8 |Anaconda 2.1.0(32位)加载png图像?

    我使用 Anaconda 下载 Python 2 7 我使用的是Windows 7 我尝试了以下操作 from Tkinter import Tk Frame Canvas import ImageTk t Tk t title Trans
  • 如何使用 imagemagick 从命令行将灰度 png 图像转换为 RGB

    我正在尝试使用以下命令将 png 灰度图像转换为 RGB png 图像 convert HopeLoveJoy png size 1x1 fill rgba 0 1 2 0 draw color 511 511 point out test
  • 使用pylab同时显示两个png图像

    我想打开两个 png 图像文件并将它们并排显示以进行视觉比较 我有以下代码用于打开一个 png 文件 我从 stackoverflow com 上的 unutbu 获得 import numpy as np import pylab imp
  • 如何在Python 3.7中使用Pygame显示用Pillow加载的图像?

    我使用以下命令将图像导入到我的项目中 from PIL import Image myImage Image open myImageDirectory png 所以 myImage 现在作为 png 文件导入 但我想使用 Pygame 将
  • 如何跳过压缩一张 PNG?

    注意 我已经解决了这个问题 但花了很长时间才在这里发布问题 答案 Xcode 构建过程在构建时 优化 我的 PNG 这通常不是问题 但以这种方式处理的 iTunesArtwork 会导致其损坏 以致 iTunes 无法显示它 我怎样才能防止
  • 图像/png 响应的原始响应

    我收到一个带有原始响应的响应主体 它应该代表一个 png 图像 我的问题是如何解码它并使其可渲染 PS 当我使用邮递员来测试这个时 我意识到邮递员可以渲染这个原始字符串 我想知道它是如何做到的 PNG IHDR X PPHYs o d ID

随机推荐