本文整理汇总了C++中floatvectorimagetype::Pointer::GetNumberOfComponentsPerPixel方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::GetNumberOfComponentsPerPixel方法的具体用法?C++ Pointer::GetNumberOfComponentsPerPixel怎么用?C++ Pointer::GetNumberOfComponentsPerPixel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类floatvectorimagetype::Pointer
的用法示例。
在下文中一共展示了Pointer::GetNumberOfComponentsPerPixel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ITKImagetoVTKImage
// Convert a vector ITK image to a VTK image for display
void ITKImagetoVTKImage(FloatVectorImageType::Pointer image, vtkImageData* outputImage)
{
std::cout << "ITKImagetoVTKImage()" << std::endl;
if(image->GetNumberOfComponentsPerPixel() >= 3)
{
ITKImagetoVTKRGBImage(image, outputImage);
}
else
{
ITKImagetoVTKMagnitudeImage(image, outputImage);
}
}
示例2: ITKImagetoVTKRGBImage
// Convert a vector ITK image to a VTK image for display
void ITKImagetoVTKRGBImage(FloatVectorImageType::Pointer image, vtkImageData* outputImage)
{
// This function assumes an ND (with N>3) image has the first 3 channels as RGB and extra information in the remaining channels.
//std::cout << "ITKImagetoVTKRGBImage()" << std::endl;
if(image->GetNumberOfComponentsPerPixel() < 3)
{
std::stringstream ss;
ss << "The input image has " << image->GetNumberOfComponentsPerPixel() << " components, but at least 3 are required.";
throw std::runtime_error(ss.str());
}
// Setup and allocate the image data
outputImage->SetNumberOfScalarComponents(3);
outputImage->SetScalarTypeToUnsignedChar();
outputImage->SetDimensions(image->GetLargestPossibleRegion().GetSize()[0],
image->GetLargestPossibleRegion().GetSize()[1],
1);
outputImage->AllocateScalars();
// Copy all of the input image pixels to the output image
itk::ImageRegionConstIteratorWithIndex<FloatVectorImageType> imageIterator(image,image->GetLargestPossibleRegion());
imageIterator.GoToBegin();
while(!imageIterator.IsAtEnd())
{
unsigned char* pixel = static_cast<unsigned char*>(outputImage->GetScalarPointer(imageIterator.GetIndex()[0],
imageIterator.GetIndex()[1],0));
for(unsigned int component = 0; component < 3; component++)
{
pixel[component] = static_cast<unsigned char>(imageIterator.Get()[component]);
}
++imageIterator;
}
}