Add Constant to Every Pixel#
Synopsis#
Add a constant to every pixel in an image.
Results#
Yinyang.png#
output.png#
Code#
C++#
#include "itkImage.h"
#include "itkImageRegionIteratorWithIndex.h"
#include "itkAddImageFilter.h"
#include "itkImageFileWriter.h"
using ImageType = itk::Image<unsigned char, 2>;
static void
CreateImage(ImageType::Pointer image);
int
main()
{
auto image = ImageType::New();
CreateImage(image);
using AddImageFilterType = itk::AddImageFilter<ImageType, ImageType, ImageType>;
auto addImageFilter = AddImageFilterType::New();
addImageFilter->SetInput(image);
addImageFilter->SetConstant2(2);
addImageFilter->Update();
itk::WriteImage(addImageFilter->GetOutput(), "output.png");
return EXIT_SUCCESS;
}
void
CreateImage(ImageType::Pointer image)
{
ImageType::IndexType start{};
auto size = ImageType::SizeType::Filled(100);
ImageType::RegionType region;
region.SetSize(size);
region.SetIndex(start);
image->SetRegions(region);
image->Allocate();
itk::ImageRegionIteratorWithIndex<ImageType> imageIterator(image, region);
while (!imageIterator.IsAtEnd())
{
if (imageIterator.GetIndex()[0] < 70)
{
imageIterator.Set(255);
}
else
{
imageIterator.Set(0);
}
++imageIterator;
}
}
Classes demonstrated#
Warning
doxygenclass: Cannot find class “itk::AddImageFilter” in doxygen xml output for project “ITK” from directory: /home/runner/work/bld/ITKEx-build/ITKDoxygenXML
