A double opponent color channel class that combines r/g, b/y subchannels. More...
#include <Channels/H2SVChannel.H>
Public Member Functions | |
H2SVChannel (OptionManager &mgr) | |
Construct with standard params. | |
virtual | ~H2SVChannel () |
Destructor. | |
virtual Hue1Channel & | H1 () const |
Get access the RedGreen Hue1 subchannel. | |
virtual Hue2Channel & | H2 () const |
Get access to the BlueYellow Hue2 subchannel. | |
virtual SaturationChannel & | S () const |
Get access the RedGreen Hue1 subchannel. | |
virtual ValueIntensityChannel & | V () const |
Get access to the BlueYellow Hue2 subchannel. | |
Protected Member Functions | |
virtual void | doInput (const InputFrame &inframe) |
ColorChannel requires only color input. | |
void | setH1 (nub::ref< Hue1Channel > h1) |
Install a different H1 red/green channel. | |
void | setH2 (nub::ref< Hue2Channel > h2) |
Install a different H2 blue/yellow channel. | |
void | setS (nub::ref< SaturationChannel > s) |
Install a different saturation channel. | |
void | setV (nub::ref< ValueIntensityChannel > v) |
Install a different value intensity channel. | |
Protected Attributes | |
OModelParam< bool > | itsUseH2SV1 |
A double opponent color channel class that combines r/g, b/y subchannels.
This is an example of an heterogeneous complex channel where the various subchannels have distinct visual features. Thus, the JetSpec representation for such complex channel will be a series of independent single-channel representations, one for each subchannel.
Additionally, Saturation and intensity are extracted. Extracting color in this way creates an othogonal set of values that are invertable. Thus, we can recover R,G and B from H2SV which contains Intensity, Saturation and color combined.
Definition at line 62 of file H2SVChannel.H.
H2SVChannel::H2SVChannel | ( | OptionManager & | mgr | ) |
Construct with standard params.
Definition at line 56 of file H2SVChannel.C.
References ComplexChannel::addSubChan().
H2SVChannel::~H2SVChannel | ( | ) | [virtual] |
Destructor.
Definition at line 103 of file H2SVChannel.C.
void H2SVChannel::doInput | ( | const InputFrame & | inframe | ) | [protected, virtual] |
ColorChannel requires only color input.
Implements ChannelBase.
Definition at line 109 of file H2SVChannel.C.
References ASSERT, Image< T >::begin(), Image< T >::beginw(), Image< T >::end(), OModelParam< T >::getVal(), Image< T >::initialized(), logsig2(), Pixels< T, dim >::p, Pixels< T, 4 >::p, Image< T >::resize(), and S().
Hue1Channel & H2SVChannel::H1 | ( | ) | const [virtual] |
Get access the RedGreen Hue1 subchannel.
Definition at line 75 of file H2SVChannel.C.
Hue2Channel & H2SVChannel::H2 | ( | ) | const [virtual] |
Get access to the BlueYellow Hue2 subchannel.
Definition at line 82 of file H2SVChannel.C.
SaturationChannel & H2SVChannel::S | ( | ) | const [virtual] |
Get access the RedGreen Hue1 subchannel.
Definition at line 89 of file H2SVChannel.C.
Referenced by doInput().
void H2SVChannel::setH1 | ( | nub::ref< Hue1Channel > | h1 | ) | [protected] |
Install a different H1 red/green channel.
Definition at line 191 of file H2SVChannel.C.
References ComplexChannel::addSubChan(), and ComplexChannel::removeSubChan().
void H2SVChannel::setH2 | ( | nub::ref< Hue2Channel > | h2 | ) | [protected] |
Install a different H2 blue/yellow channel.
Definition at line 199 of file H2SVChannel.C.
References ComplexChannel::addSubChan(), and ComplexChannel::removeSubChan().
void H2SVChannel::setS | ( | nub::ref< SaturationChannel > | s | ) | [protected] |
Install a different saturation channel.
Definition at line 207 of file H2SVChannel.C.
References ComplexChannel::addSubChan(), and ComplexChannel::removeSubChan().
void H2SVChannel::setV | ( | nub::ref< ValueIntensityChannel > | v | ) | [protected] |
Install a different value intensity channel.
Definition at line 215 of file H2SVChannel.C.
References ComplexChannel::addSubChan(), and ComplexChannel::removeSubChan().
ValueIntensityChannel & H2SVChannel::V | ( | ) | const [virtual] |
Get access to the BlueYellow Hue2 subchannel.
Definition at line 96 of file H2SVChannel.C.