Classes | |
class | AdaptiveThresholdT |
Typedefs | |
typedef AdaptiveThresholdT < uint8_t > | AdaptiveThreshold |
typedef AdaptiveThresholdT < uint8_t > | AdaptiveThreshold8u |
typedef AdaptiveThresholdT< float > | AdaptiveThreshold32f |
Functions | |
template<typename T > | |
void | edgeDetectSobel (const ChannelT< T > &srcChannel, const Area &srcArea, const Vec2i &dstOffset, ChannelT< T > *dstChannel) |
template<typename T > | |
void | edgeDetectSobel (const SurfaceT< T > &srcSurface, const Area &srcArea, const Vec2i &dstOffset, SurfaceT< T > *dstSuface) |
template<typename T > | |
void | edgeDetectSobel (const ChannelT< T > &srcChannel, ChannelT< T > *dstChannel) |
template<typename T > | |
void | edgeDetectSobel (const SurfaceT< T > &srcSurface, SurfaceT< T > *dstSuface) |
template<typename T , typename Y > | |
void | fill (SurfaceT< T > *surface, const ColorT< Y > &color) |
template<typename T , typename Y > | |
void | fill (SurfaceT< T > *surface, const ColorT< Y > &color, const Area &area) |
template<typename T , typename Y > | |
void | fill (SurfaceT< T > *surface, const ColorAT< Y > &color) |
template<typename T , typename Y > | |
void | fill (SurfaceT< T > *surface, const ColorAT< Y > &color, const Area &area) |
template<typename T > | |
void | fill (ChannelT< T > *channel, T value, const Area &area) |
template<typename T > | |
void | fill (ChannelT< T > *channel, T value) |
template<typename T > | |
void | flipVertical (SurfaceT< T > *surface) |
template<typename T > | |
void | grayscale (const SurfaceT< T > &srcSurface, SurfaceT< T > *dstSurface) |
Converts Surface srcSurface to grayscale and stores the result in Surface dstSurface. Uses primary weights dictated by the Rec. 709 Video Standard. | |
template<typename T > | |
void | grayscale (const SurfaceT< T > &srcSurface, ChannelT< T > *dstChannel) |
Converts Surface srcSurface to grayscale and stores the result in Channel dstChannel. Uses primary weights dictated by the Rec. 709 Video Standard. | |
void | hdrNormalize (Surface32f *surface) |
void | hdrNormalize (Channel32f *channel) |
void | getMinMax (const Channel32f &channel, float *resultMin, float *resultMax) |
template<typename T > | |
void | unpremultiply (SurfaceT< T > *surface) |
template<typename T > | |
void | resize (const SurfaceT< T > &srcSurface, SurfaceT< T > *dstSurface, const FilterBase &filter=FilterTriangle()) |
template<typename T > | |
void | resize (const ChannelT< T > &srcChannel, ChannelT< T > *dstChannel, const FilterBase &filter=FilterTriangle()) |
template<typename T > | |
void | resize (const SurfaceT< T > &srcSurface, const Area &srcArea, SurfaceT< T > *dstSurface, const Area &dstArea, const FilterBase &filter=FilterTriangle()) |
template<typename T > | |
SurfaceT< T > | resizeCopy (const SurfaceT< T > &srcSurface, const Area &srcArea, const Vec2i &dstSize, const FilterBase &filter=FilterTriangle()) |
Returns a new Surface which is a copy of srcSurface's area srcArea scaled to size dstSize using filter filter. | |
template<typename T > | |
void | resize (const ChannelT< T > &srcChannel, const Area &srcArea, ChannelT< T > *dstChannel, const Area &dstArea, const FilterBase &filter=FilterTriangle()) |
template<typename T > | |
void | threshold (SurfaceT< T > *surface, T value, const Area &area) |
Thresholds surface setting any values below value to zero and any values above to unity inside the Area area. | |
template<typename T > | |
void | threshold (SurfaceT< T > *surface, T value) |
Thresholds surface setting any values below value to zero and any values above to unity. | |
template<typename T > | |
void | threshold (const SurfaceT< T > &srcSurface, T value, SurfaceT< T > *dstSurface) |
Thresholds srcSurface setting any values below value to zero and any values above to unity and storing the result in dstSurface. | |
template<typename T > | |
void | threshold (const ChannelT< T > &srcSurface, T value, ChannelT< T > *dstSurface) |
Thresholds srcChannel setting any values below value to zero and any values above to unity and storing the result in dstChannel. | |
template<typename T > | |
void | adaptiveThreshold (const ChannelT< T > &srcChannel, int32_t windowSize, float percentageDelta, ChannelT< T > *dstChannel) |
Thresholds srcChannel using an adaptive thresholding algorithm which considers a window of size windowSize pixels and stores the result in dstChannel. | |
template<typename T > | |
void | adaptiveThreshold (ChannelT< T > *channel, int32_t windowSize, float percentageDelta) |
Thresholds srcChannel using an adaptive thresholding algorithm which considers a window of size windowSize pixels. | |
template<typename T > | |
void | adaptiveThresholdZero (ChannelT< T > *channel, int32_t windowSize) |
Thresholds srcChannel using an adaptive thresholding algorithm which considers a window of size windowSize pixels. Equivalent to calling adaptiveThreshold with a 0 for percentageDelta. | |
template<typename T > | |
void | adaptiveThresholdZero (const ChannelT< T > &srcChannel, int32_t windowSize, ChannelT< T > *dstChannel) |
template<typename T > | |
Area | findNonTransparentArea (const SurfaceT< T > &surface, const Area &bounds) |
template<typename T > | |
void | fill_impl (SurfaceT< T > *surface, const ColorT< T > &color, const Area &area) |
template<typename T > | |
void | fill_impl (SurfaceT< T > *surface, const ColorAT< T > &color, const Area &area) |
template<> | |
void | grayscale (const Surface8u &srcSurface, Channel8u *dstChannel) |
template void | grayscale (const SurfaceT< float > &srcSurface, ChannelT< float > *dstChannel) |
template<> | |
void | unpremultiply< uint8_t > (SurfaceT< uint8_t > *surface) |
template<> | |
void | unpremultiply< float > (SurfaceT< float > *surface) |
template<typename LT , typename AT > | |
void | scanlineAccumulate (LT weight, LT *lineBuffer, int32_t lineBufferWidth, AT *accum) |
template<typename T , typename WT > | |
void | makeWeightTable (int32_t b, float cen, const FilterBase &filter, const FilterParams *params, int32_t len, bool trimzeros, WeightTable< WT > *wtab) |
template<typename AT , typename T > | |
void | scanlineShiftAccumToChannel (AT *accum, int32_t x1, int32_t y, int32_t width, ChannelT< T > *channel) |
template<typename T , typename WT , typename AT > | |
void | scanlineFilterChannelToBuffer (WeightTable< WT > *weights, int32_t x, int32_t y, const ChannelT< T > &channel, AT *lineBuffer, int32_t width) |
template<typename T > | |
void | resample (const vector< const ChannelT< T > * > &srcChannels, const FilterBase &filter, const Area &srcArea, const Area &dstArea, const vector< ChannelT< T > * > &dstChannels) |
template<typename T > | |
void | thresholdImpl (SurfaceT< T > *surface, T value, const Area &area) |
template<typename T > | |
void | thresholdImpl (const SurfaceT< T > &srcSurface, T value, const Area &srcArea, const Vec2i &dstLT, SurfaceT< T > *dstSurface) |
template<typename T > | |
void | thresholdImpl (const ChannelT< T > &srcChannel, T value, const Area &srcArea, const Vec2i &dstLT, ChannelT< T > *dstChannel) |
template<typename T > | |
void | calculateAdaptiveThreshold (const ChannelT< T > *srcChannel, typename CHANTRAIT< T >::Accum *integralImage, int32_t windowSize, float percentageDelta, ChannelT< T > *dstChannel) |
template<typename T > | |
void | calculateAdaptiveThresholdZero (const ChannelT< T > *srcChannel, typename CHANTRAIT< T >::Accum *integralImage, int32_t windowSize, ChannelT< T > *dstChannel) |
template<typename T > | |
void | calculateIntegralImage (const ChannelT< T > &channel, typename CHANTRAIT< T >::Accum *integralImage) |
template<typename T > | |
bool | transparentHorizontalScanline (const SurfaceT< T > &surface, int32_t row, int32_t x1, int32_t x2) |
template<typename T > | |
bool | transparentVerticalScanline (const SurfaceT< T > &surface, int32_t column, int32_t y1, int32_t y2) |
typedef AdaptiveThresholdT<uint8_t> cinder::ip::AdaptiveThreshold |
typedef AdaptiveThresholdT<uint8_t> cinder::ip::AdaptiveThreshold8u |
typedef AdaptiveThresholdT<float> cinder::ip::AdaptiveThreshold32f |
void cinder::ip::edgeDetectSobel | ( | const ChannelT< T > & | srcChannel, | |
const Area & | srcArea, | |||
const Vec2i & | dstOffset, | |||
ChannelT< T > * | dstChannel | |||
) |
void cinder::ip::edgeDetectSobel | ( | const SurfaceT< T > & | srcSurface, | |
const Area & | srcArea, | |||
const Vec2i & | dstOffset, | |||
SurfaceT< T > * | dstSuface | |||
) |
void cinder::ip::edgeDetectSobel | ( | const ChannelT< T > & | srcChannel, | |
ChannelT< T > * | dstChannel | |||
) |
void cinder::ip::edgeDetectSobel | ( | const SurfaceT< T > & | srcSurface, | |
SurfaceT< T > * | dstSuface | |||
) |
void cinder::ip::fill | ( | SurfaceT< T > * | surface, | |
const ColorT< Y > & | color | |||
) |
void cinder::ip::fill | ( | SurfaceT< T > * | surface, | |
const ColorT< Y > & | color, | |||
const Area & | area | |||
) |
void cinder::ip::fill | ( | SurfaceT< T > * | surface, | |
const ColorAT< Y > & | color | |||
) |
void cinder::ip::fill | ( | SurfaceT< T > * | surface, | |
const ColorAT< Y > & | color, | |||
const Area & | area | |||
) |
void cinder::ip::fill | ( | ChannelT< T > * | channel, | |
T | value, | |||
const Area & | area | |||
) |
void cinder::ip::fill | ( | ChannelT< T > * | channel, | |
T | value | |||
) |
void cinder::ip::flipVertical | ( | SurfaceT< T > * | surface | ) |
Flips the contents of surface vertically
void cinder::ip::grayscale | ( | const SurfaceT< T > & | srcSurface, | |
SurfaceT< T > * | dstSurface | |||
) |
Converts Surface srcSurface to grayscale and stores the result in Surface dstSurface. Uses primary weights dictated by the Rec. 709 Video Standard.
void cinder::ip::grayscale | ( | const SurfaceT< T > & | srcSurface, | |
ChannelT< T > * | dstChannel | |||
) |
Converts Surface srcSurface to grayscale and stores the result in Channel dstChannel. Uses primary weights dictated by the Rec. 709 Video Standard.
void cinder::ip::hdrNormalize | ( | Surface32f * | surface | ) |
Normalizes surface by scaling the maximum and minimum values to lie in the range [0,1]
void cinder::ip::hdrNormalize | ( | Channel32f * | channel | ) |
Normalizes channel by scaling the maximum and minimum values to lie in the range [0,1]
void cinder::ip::getMinMax | ( | const Channel32f & | channel, | |
float * | resultMin, | |||
float * | resultMax | |||
) |
Determines the minimum and maximum values of channel
void cinder::ip::unpremultiply | ( | SurfaceT< T > * | surface | ) |
Unpremultiplies the contents of a Surface using its own alpha channel
void cinder::ip::resize | ( | const SurfaceT< T > & | srcSurface, | |
SurfaceT< T > * | dstSurface, | |||
const FilterBase & | filter = FilterTriangle() | |||
) |
void cinder::ip::resize | ( | const ChannelT< T > & | srcChannel, | |
ChannelT< T > * | dstChannel, | |||
const FilterBase & | filter = FilterTriangle() | |||
) |
void cinder::ip::resize | ( | const SurfaceT< T > & | srcSurface, | |
const Area & | srcArea, | |||
SurfaceT< T > * | dstSurface, | |||
const Area & | dstArea, | |||
const FilterBase & | filter = FilterTriangle() | |||
) |
SurfaceT<T> cinder::ip::resizeCopy | ( | const SurfaceT< T > & | srcSurface, | |
const Area & | srcArea, | |||
const Vec2i & | dstSize, | |||
const FilterBase & | filter = FilterTriangle() | |||
) |
Returns a new Surface which is a copy of srcSurface's area srcArea scaled to size dstSize using filter filter.
void cinder::ip::resize | ( | const ChannelT< T > & | srcChannel, | |
const Area & | srcArea, | |||
ChannelT< T > * | dstChannel, | |||
const Area & | dstArea, | |||
const FilterBase & | filter = FilterTriangle() | |||
) |
void cinder::ip::threshold | ( | SurfaceT< T > * | surface, | |
T | value, | |||
const Area & | area | |||
) |
Thresholds surface setting any values below value to zero and any values above to unity inside the Area area.
void cinder::ip::threshold | ( | SurfaceT< T > * | surface, | |
T | value | |||
) |
Thresholds surface setting any values below value to zero and any values above to unity.
void cinder::ip::threshold | ( | const SurfaceT< T > & | srcSurface, | |
T | value, | |||
SurfaceT< T > * | dstSurface | |||
) |
Thresholds srcSurface setting any values below value to zero and any values above to unity and storing the result in dstSurface.
void cinder::ip::threshold | ( | const ChannelT< T > & | srcSurface, | |
T | value, | |||
ChannelT< T > * | dstSurface | |||
) |
Thresholds srcChannel setting any values below value to zero and any values above to unity and storing the result in dstChannel.
void cinder::ip::adaptiveThreshold | ( | const ChannelT< T > & | srcChannel, | |
int32_t | windowSize, | |||
float | percentageDelta, | |||
ChannelT< T > * | dstChannel | |||
) |
Thresholds srcChannel using an adaptive thresholding algorithm which considers a window of size windowSize pixels and stores the result in dstChannel.
Implements the algorithm described in "Adaptive Thresholding Using the Integral Image" by Bradley & Roth. The srcSurface.getWidth() / 8 is a good default for windowSize and 0.15 is for percentageDelta
void cinder::ip::adaptiveThreshold | ( | ChannelT< T > * | channel, | |
int32_t | windowSize, | |||
float | percentageDelta | |||
) |
Thresholds srcChannel using an adaptive thresholding algorithm which considers a window of size windowSize pixels.
Implements the algorithm described in "Adaptive Thresholding Using the Integral Image" by Bradley & Roth. The srcSurface.getWidth() / 8 is a good default for windowSize and 0.15 is for percentageDelta
void cinder::ip::adaptiveThresholdZero | ( | ChannelT< T > * | channel, | |
int32_t | windowSize | |||
) |
Thresholds srcChannel using an adaptive thresholding algorithm which considers a window of size windowSize pixels. Equivalent to calling adaptiveThreshold with a 0 for percentageDelta.
Implements the algorithm described in "Adaptive Thresholding Using the Integral Image" by Bradley & Roth. The srcSurface.getWidth() / 8 is a good default for windowSize
void cinder::ip::adaptiveThresholdZero | ( | const ChannelT< T > & | srcChannel, | |
int32_t | windowSize, | |||
ChannelT< T > * | dstChannel | |||
) |
Area cinder::ip::findNonTransparentArea | ( | const SurfaceT< T > & | surface, | |
const Area & | bounds | |||
) |
Finds the bounding rectangle of the area bounds inside of surface which contains non-zero alpha
void cinder::ip::fill_impl | ( | SurfaceT< T > * | surface, | |
const ColorT< T > & | color, | |||
const Area & | area | |||
) |
void cinder::ip::fill_impl | ( | SurfaceT< T > * | surface, | |
const ColorAT< T > & | color, | |||
const Area & | area | |||
) |
void cinder::ip::grayscale | ( | const Surface8u & | srcSurface, | |
Channel8u * | dstChannel | |||
) |
template void cinder::ip::grayscale | ( | const SurfaceT< float > & | srcSurface, | |
ChannelT< float > * | dstChannel | |||
) |
void cinder::ip::unpremultiply< uint8_t > | ( | SurfaceT< uint8_t > * | surface | ) |
void cinder::ip::unpremultiply< float > | ( | SurfaceT< float > * | surface | ) |
void cinder::ip::scanlineAccumulate | ( | LT | weight, | |
LT * | lineBuffer, | |||
int32_t | lineBufferWidth, | |||
AT * | accum | |||
) |
void cinder::ip::makeWeightTable | ( | int32_t | b, | |
float | cen, | |||
const FilterBase & | filter, | |||
const FilterParams * | params, | |||
int32_t | len, | |||
bool | trimzeros, | |||
WeightTable< WT > * | wtab | |||
) |
void cinder::ip::scanlineShiftAccumToChannel | ( | AT * | accum, | |
int32_t | x1, | |||
int32_t | y, | |||
int32_t | width, | |||
ChannelT< T > * | channel | |||
) |
void cinder::ip::scanlineFilterChannelToBuffer | ( | WeightTable< WT > * | weights, | |
int32_t | x, | |||
int32_t | y, | |||
const ChannelT< T > & | channel, | |||
AT * | lineBuffer, | |||
int32_t | width | |||
) |
void cinder::ip::resample | ( | const vector< const ChannelT< T > * > & | srcChannels, | |
const FilterBase & | filter, | |||
const Area & | srcArea, | |||
const Area & | dstArea, | |||
const vector< ChannelT< T > * > & | dstChannels | |||
) |
void cinder::ip::thresholdImpl | ( | SurfaceT< T > * | surface, | |
T | value, | |||
const Area & | area | |||
) |
void cinder::ip::thresholdImpl | ( | const SurfaceT< T > & | srcSurface, | |
T | value, | |||
const Area & | srcArea, | |||
const Vec2i & | dstLT, | |||
SurfaceT< T > * | dstSurface | |||
) |
void cinder::ip::thresholdImpl | ( | const ChannelT< T > & | srcChannel, | |
T | value, | |||
const Area & | srcArea, | |||
const Vec2i & | dstLT, | |||
ChannelT< T > * | dstChannel | |||
) |
void cinder::ip::calculateAdaptiveThreshold | ( | const ChannelT< T > * | srcChannel, | |
typename CHANTRAIT< T >::Accum * | integralImage, | |||
int32_t | windowSize, | |||
float | percentageDelta, | |||
ChannelT< T > * | dstChannel | |||
) |
void cinder::ip::calculateAdaptiveThresholdZero | ( | const ChannelT< T > * | srcChannel, | |
typename CHANTRAIT< T >::Accum * | integralImage, | |||
int32_t | windowSize, | |||
ChannelT< T > * | dstChannel | |||
) |
void cinder::ip::calculateIntegralImage | ( | const ChannelT< T > & | channel, | |
typename CHANTRAIT< T >::Accum * | integralImage | |||
) |
bool cinder::ip::transparentHorizontalScanline | ( | const SurfaceT< T > & | surface, | |
int32_t | row, | |||
int32_t | x1, | |||
int32_t | x2 | |||
) |
bool cinder::ip::transparentVerticalScanline | ( | const SurfaceT< T > & | surface, | |
int32_t | column, | |||
int32_t | y1, | |||
int32_t | y2 | |||
) |