标签: vtk

使用 VTK 放大图像中的某个点

我在 VTK 中有一个图像,正在使用 vtkImageViewer2 查看,并且我想放大用户单击的点。我在 Java 工作。有谁知道如何做到这一点?

谢谢

java image vtk

5
推荐指数
1
解决办法
3264
查看次数

ActiViz .NET LeftButtonReleaseEvent:我点击了哪里

我正在使用 ActiViz .NET (VTK),但遇到了一个小问题。

当我注册一个事件(例如 LeftButtonReleaseEvt)时,我无法找到我单击的 RenderWindowControl 上的位置。该事件被称为。

        ...       
        rwcVtk.RenderWindow.GetInteractor().LeftButtonPressEvt += new vtkObject.vtkObjectEventHandler(RenderWindow_LeftButtonReleaseEvt);            
    }

    void RenderWindow_LeftButtonReleaseEvt(vtkObject sender, vtkObjectEventArgs e)
    {
        //TODO: Where did i click?
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我吗?我认为没有太多关于这方面的文档。

.net c# events mouseevent vtk

5
推荐指数
1
解决办法
1634
查看次数

"1>cl : 命令行错误 D8021: 无效的数字参数 '/Wno-deprecated'" 错误

这个错误:

"1>cl : Command line error D8021: invalid numeric argument '/Wno-deprecated'" 
Run Code Online (Sandbox Code Playgroud)

通过 MSVC 编译器构建 VTK + Qt 项目时发生。我认为标志设置存在一些问题。以下是我的 CMakeList.txt

cmake_minimum_required(VERSION 2.8)
PROJECT(QtImageViewer)

IF(NOT VTK_BINARY_DIR)  
FIND_PACKAGE(VTK)
    INCLUDE(${VTK_USE_FILE})
ENDIF(NOT VTK_BINARY_DIR)
SET(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "")
SET(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "")
SET(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "")

FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE(${QT_USE_FILE})
SET (SRCS main.cxx)
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})

ADD_EXECUTABLE( qtimageviewer MACOSX_BUNDLE ${SRCS})

TARGET_LINK_LIBRARIES( qtimageviewer
  QVTK
  ${QT_LIBRARIES}
  vtkRendering
  vtkGraphics
  vtkIO
  vtkCommon
)
Run Code Online (Sandbox Code Playgroud)

请解释如何解决此错误?

compiler-construction qt cmake vtk visual-c++

5
推荐指数
1
解决办法
2万
查看次数

CMake:如何设置 VTK_DIR?

这是我的一部分 CMakeLists.txt

set (VTK_DIR "/usr/include/vtk-5.8")

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
IF(VTK_FOUND)
  message("found VTK. Version:" ${VTK_VERSION}. VTK_DIR: ${VTK_DIR})
ELSE(VTK_FOUND)
  MESSAGE(FATAL_ERROR
    "Cannot build the executable without VTK. Please set the                                                                                                   
VTK_DIR")
ENDIF(VTK_FOUND)
Run Code Online (Sandbox Code Playgroud)

cmake . 告诉我:

发现VTK。版本:6.0.0.VTK_DIR:/usr/local/lib/cmake/vtk-6.0

在命令行中提供 VTK_DIR 也无济于事:

cmake -DVTK_DIR:PATH=/usr/include/vtk-5.8 .
Run Code Online (Sandbox Code Playgroud)

仍然 cmake 寻找/usr/local/lib/cmake/vtk-6.0VTK。

这里有什么问题?

c++ cmake vtk

5
推荐指数
1
解决办法
2万
查看次数

如何在 Python 中可视化 3D delaunay 三角剖分?

我有一组 3D 点,我使用 scipy.spatial.Delaunay 来进行三角剖分/四面体化。我现在有一组所有四面体的独特面,并希望在 3D 中可视化这些面。

是否有任何 Python 库(或带有 Python 包装器的库)可以做到这一点?

python scipy vtk mayavi mplot3d

5
推荐指数
2
解决办法
6670
查看次数

VTK的ProjectionTransformMatrix和OpenGL的GL_PROJECTION有什么区别?

我在理解 VTK 所涉及的转换方面遇到了深刻的问题。OpenGL 有相当好的文档,我的印象是 VTK 与 OpenGL 非常相似(在很多方面都是如此)。但当谈到转型时,情况似乎完全不同。

这是一个关于所涉及的变换的很好的 OpenGL 文档: http://www.songho.ca/opengl/gl_transform.html

OpenGL中的透视投影矩阵为:

在此输入图像描述

我想看看在 VTK 中应用这个公式是否会给出 VTK 的投影矩阵(通过与 VTK 投影矩阵交叉检查)。

相关相机和渲染器参数:

camera->SetPosition(0,0,20);
camera->SetFocalPoint(0,0,0);
double crSet[2] = {10, 1000};
renderer->GetActiveCamera()->SetClippingRange(crSet);
double windowSize[2];
renderWindow->SetSize(1280,720);
renderWindowInteractor->GetSize(windowSize);
proj = renderer->GetActiveCamera()->GetProjectionTransformMatrix(windowSize[0]/windowSize[1], crSet[0], crSet[1]);
Run Code Online (Sandbox Code Playgroud)

我为此配置得到的投影变换矩阵是:

在此输入图像描述

投影矩阵的 (3,3) 和 (3,4) 值(假设行和列的索引为 1 到 4)应为 - (f+n)/(fn) 和 -2*f*n /(fn) 分别。在我的 VTK 相机设置中,nearz 为 10,farz 为 1000,因此我应该在矩阵的 (3,3) 和 (3,4) 位置分别得到 -1.020 和 -20.20。但它是-1010和-10000。

我已经更改了剪切范围值以查看更改,并且 (3,3) 位置始终接近 z+farz,这对我来说没有任何意义。另外,如果有人能解释为什么 (1,1) 和 (2,2) 位置上的值是 3.7320,那就太好了。当我更改渲染器窗口的窗口大小时,该值不会改变。让我很困惑。

我在 VTKCamera 类参考中看到 GetProjectionTransformMatrix() 返回从相机坐标映射到视口坐标的变换矩阵。 …

c++ opengl computer-vision augmented-reality vtk

5
推荐指数
1
解决办法
3423
查看次数

VTK:设置透明渲染器背景

我可以通过调用来定义渲染器的背景颜色

renderer = vtk.vtkRenderer()
renderer.SetBackground(0,255,0)
Run Code Online (Sandbox Code Playgroud)

[![在此处输入图像描述][1]][1]

我的问题:

可以设置背景的不透明度吗?

您可以在我的示例图像中看到我的问题(具有多个视口)。我可以通过简单地使用透明背景来摆脱这种“切割”......

提前致谢!

transparency renderer opacity vtk

5
推荐指数
1
解决办法
4983
查看次数

使用 VTK 渲染的 3D 模型的 2D 边界框

我试图使用 VTK 找到 3D 模型渲染图像的 2D 绑定框。有什么可以自动为我找到的吗?最后我想要这样的东西(但使用飞机 3D 模型的渲染图像而不是真实的图像): http ://host.robots.ox.ac.uk/pascal/VOC/voc2007/examples/飞机_03.jpg

如果没有,我将不得不逐像素地选取点并自己找到极值点。只是想知道是否有什么东西可以自动为我做这件事。

rendering bounding-box vtk

5
推荐指数
1
解决办法
1056
查看次数

Python导入vtk时DLL导入错误

我需要在 Windows 10 计算机上的 python 中使用VTK库(版本 5.10,因为我正在处理现有代码),但我无法成功导入它DLLImport

Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\vtk\__init__.py", line 139, in <module>
    __helper.refine_import_err('qvtk', 'vtkQtPython', exc)
  File "C:\Python27\lib\site-packages\vtk\__helper.py", line 32, in refine_import_err
    raise LinkError, str(exc)
vtk.__helper.LinkError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

我已经安装了32位版本的PyQt4 4.11.4和 …

python windows dll pyqt vtk

5
推荐指数
0
解决办法
2969
查看次数

如何用VTK存储矢量场?C++、VTKWriter

假设我有一个向量场 u,其分量为 ux、uy 和 uz,定义在空间 rx、ry 和 rz 中的(非结构化)位置。

我想要的只是用 VTK 格式存储这个向量场,即用 libvtk 中的“vtkwriter”类来存储 Paraview 的可视化。

我认为我得到了正确合并位置的代码,但不知何故我无法弄清楚如何合并数据:

#include <vtkPoints.h>
#include <vtkPolyDataWriter.h>
#include <vtkSmartPointer.h>

void write_file (double* rx, double* ry, double* rz,
                 double* ux, double* uy, double* uz,
                 int n, const char* filename)
{
    vtkSmartPointer<vtkPoints> points =
        vtkSmartPointer<vtkPoints>::New ();

    points->SetNumberOfPoints(n);

    for (int i = 0; i < n; ++i) {
        points->SetPoint(i, rx[i], ry[i], rz[i]);
    }

    // how to incorporate the vector field u?

    vtkSmartPointer<vtkPolyDataWriter> writer =
        vtkSmartPointer<vtkPolyDataWriter>::New ();

    writer->setFileName (filename);

    // …
Run Code Online (Sandbox Code Playgroud)

c++ vtk

5
推荐指数
1
解决办法
2637
查看次数