English version
PRINCIPAL | PUBLICAÇÕES | PESQUISA | PROVA DE ANÁLISE E SISTEMAS | DICAS | SYNTHETIC VESSEL DATASET | DICAS ALUNO IME / USP |


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