您的位置:首页 > 其它

vtk中图像数据类型转换 -- vtkImageShiftScale

2018-02-28 17:49 2211 查看
51CTO讲解地址:

http://book.51cto.com/art/201504/474109.htm

demo地址:

https://lorensen.github.io/VTKExamples/site/Cxx/ImageProcessing/RescaleAnImage/

关键代码:

vtkSmartPointer<vtkImageShiftScale> shiftScaleFilter =
vtkSmartPointer<vtkImageShiftScale>::New();
shiftScaleFilter->SetOutputScalarTypeToUnsignedChar();
shiftScaleFilter->SetInputData(image);
shiftScaleFilter->SetShift(-1.0f * image->GetScalarRange()[0]); // brings the lower bound to 0
float oldRange = image->GetScalarRange()[1] - image->GetScalarRange()[0];
std::cout << "Old range: [" << image->GetScalarRange()[0] << ", " << image->GetScalarRange()[1] << "]" << std::endl;
std::cout << "Old range magnitude: " << oldRange << std::endl;
float newRange = 255; // We want the output [0,255]

shiftScaleFilter->SetScale(newRange/oldRange);
shiftScaleFilter->Update();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: