获取鼠标位置
//QVTKInteractor* m_interactor;
int eventPosition[2];
m_interactor->GetEventPosition(eventPosition);
从鼠标位置得到世界坐标位置
//vtkSmartPointer<vtkRenderer> m_renderer;
vtkNew<vtkCoordinate> coordinate;
coordinate->SetCoordinateSystemToDisplay();
coordinate->SetValue(viewportPosition);
double* worldCoordinate = coordinate->GetComputedWorldValue(m_renderer);
由世界坐标和像素间隙spacing得到像素坐标
vtkImageData* imageData = m_reader->GetOutput();
double spacing[2];
imageData->GetSpacing(spacing);
int x = std::round(worldCoordinate[0] / spacing[0]);
int y = std::round(worldCoordinate[1] / spacing[1]
这篇博客详细介绍了如何在vtk中通过鼠标位置获取世界坐标,并进一步转换为像素坐标,从而读取到对应的像素值。过程中涉及到了vtk中的坐标变换、像素间隙以及像素存储字节数的概念。
订阅专栏 解锁全文
7881





