ITK/Examples/SimpleOperations/Transparency: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Daviddoria (talk | contribs) |
Daviddoria (talk | contribs) mNo edit summary |
||
Line 1: | Line 1: | ||
This example demonstrates how to assign transparency to pixels in an image. It then writes the result to a tif file for inspection and verification. | |||
==Transparency.cxx== | ==Transparency.cxx== | ||
<source lang="cpp"> | <source lang="cpp"> | ||
Line 16: | Line 18: | ||
else | else | ||
{ | { | ||
outputFilename = " | outputFilename = "test.tif"; | ||
} | } | ||
Revision as of 13:54, 18 November 2010
This example demonstrates how to assign transparency to pixels in an image. It then writes the result to a tif file for inspection and verification.
Transparency.cxx
<source lang="cpp">
- include "itkImage.h"
- include "itkImageFileWriter.h"
- include "itkImageRegionIterator.h"
- include "itkTIFFImageIO.h"
- include "itkRGBAPixel.h"
int main(int argc, char *argv[]) {
std::string outputFilename; if(argc > 1) { outputFilename = argv[1]; } else { outputFilename = "test.tif"; }
typedef itk::RGBAPixel<unsigned char> PixelType; typedef itk::Image< PixelType, 2> ImageType;
ImageType::RegionType region; ImageType::IndexType start; start[0] = 0; start[1] = 0;
ImageType::SizeType size; size[0] = 200; size[1] = 300;
region.SetSize(size); region.SetIndex(start);
ImageType::Pointer image = ImageType::New(); image->SetRegions(region); image->Allocate();
itk::ImageRegionIterator<ImageType> imageIterator(image,region);
while(!imageIterator.IsAtEnd()) { ImageType::PixelType pixel = imageIterator.Get(); if(imageIterator.GetIndex()[0] > 100) { pixel.SetRed(0); pixel.SetGreen(255); pixel.SetBlue(0); //pixel.SetAlpha(255); // invisible pixel.SetAlpha(122); } else { pixel.SetRed(255); pixel.SetGreen(0); pixel.SetBlue(0); pixel.SetAlpha(0.5); } imageIterator.Set(pixel); ++imageIterator; }
typedef itk::ImageFileWriter< ImageType > WriterType; typedef itk::TIFFImageIO TIFFIOType; WriterType::Pointer writer = WriterType::New(); TIFFIOType::Pointer tiffIO = TIFFIOType::New(); tiffIO->SetPixelType(itk::ImageIOBase::RGBA); writer->SetFileName(outputFilename); writer->SetInput(image); writer->SetImageIO(tiffIO); writer->Update();
return EXIT_SUCCESS;
} </source>
CMakeLists.txt
<source lang="cmake"> cmake_minimum_required(VERSION 2.6)
PROJECT(Transparency)
FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE})
ADD_EXECUTABLE(Transparency Transparency.cxx) TARGET_LINK_LIBRARIES(Transparency ITKIO ITKBasicFilters ITKCommon )
</source>