[vtkusers] Color compositions
    Jordi Inglada 
    jordi.inglada at cnes.fr
       
    Wed Mar 21 13:49:38 EST 2001
    
    
  
Hi all,
Is there an easy way to create an RGB (and/or HSV) image from 3 grey-scale 
images?
By now, I have done this:
  sum2 = vtkImageMathematics::New();
  sum1 = vtkImageMathematics::New();
  R = vtkImageConstantPad::New();
  G = vtkImageExtractComponents::New();
  B = vtkImageExtractComponents::New();
  R->SetInput(input1);
  R->SetOutputNumberOfScalarComponents(3);
  R->SetConstant(0);
  vtkImageConstantPad* padG = vtkImageConstantPad::New();
  padG->SetInput(input2);
  padG->SetOutputNumberOfScalarComponents(3);
  padG->SetConstant(0);
    
  G->SetInput(padG->GetOutput());
  G->SetComponents(1,0,2);
  vtkImageConstantPad* padB = vtkImageConstantPad::New();
  padB->SetInput(input3);
  padB->SetOutputNumberOfScalarComponents(3);
  padB->SetConstant(0);
    
   B->SetInput(padB->GetOutput());
   B->SetComponents(1,2,0);
 
  sum1->SetInput2(G->GetOutput());
  sum1->SetOperationToAdd();
  sum2->SetInput1(sum1->GetOutput());
  sum2->SetInput2(B->GetOutput());
  sum2->SetOperationToAdd();
  return sum2->GetOutput();
But I guess there must be an easier way. I have found the classes 
vtkImageRGBToHSV and its inverse, but my problem is building a 3-channel 
image from 3 1-channel images. From there I can use these classes for 
colorspace transformations.
Thanks.
-- 
Jordi Inglada
CNES - Centre Spatial de Toulouse
DSO/OT/QTIS/SR - BPI 811
18, avenue Edouard Belin
31401 Toulouse Cedex 04 - France
Tel. +33.(0)5.61.27.33.97 - Fax. +33.(0)5.61.28.31.09
GSM: +33.(0)6.89.32.92.94
    
    
More information about the vtkusers
mailing list