Download the code. (.txt)
/*Maysa Macedo- maysa@ime.usp.br*/
//Como criar e imprimir uma imagem colorida no ITK
/* -------------- DECLARAÇÃO----------------------------*/
enum { ImageDimension = 2 }; /** Dimension of the images to be registered */
typedef unsigned char OutputWriterPixelType;
typedef itk::RGBPixel< OutputWriterPixelType > RGBPixelType;
typedef itk::Image< RGBPixelType,ImageDimension > RGBImageType;
typedef itk::ImageFileWriter RGBWriterType;
RGBImageType::Pointer m_RGBImageOutput;
RGBWriterType::Pointer m_RGBImageWriter;
RGBImageType::IndexType rgbpixelIndex;
RGBImageType::PixelType rgbpixelValue;
RGBImageType::SizeType rgbsize;
RGBImageType::RegionType rgbregion;
//imagem original ou processada binária ou em nível de cinza
//defina o InputPixelType
typedef itk::Image InputImageType; /** Type of the input image */
/* --------------INICIALIZAÇÃO----------------------------*/
m_ImageInput = InputImageType::New();
m_RGBImageOutput = RGBImageType::New();
m_RGBImageWriter = RGBWriterType::New();
//******************************
//processe a imagem de entrada m_ImageInput
// ...
// ....
//****************************
rgbpixelIndex[0] = 0;
rgbpixelIndex[1] = 0;
rgbsize = m_ImageInput->GetBufferedRegion().GetSize();
rgbregion.SetSize( rgbsize );
rgbregion.SetIndex( rgbpixelIndex );
m_RGBImageOutput->SetRegions( rgbregion );
m_RGBImageOutput->Allocate();
//imagem toda branca
rgbpixelValue.SetRed(255);
rgbpixelValue.SetGreen(255);
rgbpixelValue.SetBlue(255);
m_RGBImageOutput->FillBuffer( rgbpixelValue );
/* --------------PREENCHIMENTO COM COR----------------------------*/
IteratorType inputIt( m_ImageInput, m_ImageInput->GetRequestedRegion() );
IteratorRGBType outputIt( m_RGBImageOutput, m_RGBImageOutput->GetRequestedRegion() );
outputIt.GoToBegin();
for ( inputIt.GoToBegin(); !inputIt.IsAtEnd(); ++inputIt){
if (inputIt.Get() == 255) {
//pixels de cor vermelha
rgbpixelValue.SetRed(255);
rgbpixelValue.SetGreen(0);
rgbpixelValue.SetBlue(0);
outputIt.Set(rgbpixelValue);
}
++outputIt;
}
m_RGBImageWriter->SetFileName("imagemColorida.png");
m_RGBImageWriter->SetInput(m_RGBImageOutput);
m_RGBImageWriter->Update();
/* -------- fim --------------- */
|
maysa (a t) ime.usp.br
|
|