Split And Combine Channels

View as Markdown

Branched PipelineChannels

Splits an image into its RGB channels, adjusts each channel's brightness, and recombines them.

Code Snippet

using (var reader = ImageReader.Create("Chicago.jpg"))
using (var channelSplitter = new RgbChannelSplitter())
using (var brightnessR = new Brightness(0.1f))
using (var brightnessG = new Brightness(-0.05f))
using (var brightnessB = new Brightness(0.2f))
using (var channelCombiner = new RgbChannelCombiner())
using (var writer = ImageWriter.Create("SplitAndCombineChannels.png"))
{
    reader.Receivers.Add(channelSplitter);

    channelCombiner.R = channelSplitter.R + brightnessR;
    channelCombiner.G = channelSplitter.G + brightnessG;
    channelCombiner.B = channelSplitter.B + brightnessB;

    Pipeline.Run(channelCombiner + writer);
}

Input

Chicago.jpg

Chicago.jpg

Output

SplitAndCombineChannels.png

SplitAndCombineChannels.png

Used APIs