iipsrv 1.2
iipsrv is an advanced high-performance feature-rich image server for web-based streamed viewing and zooming of ultra high-resolution images
|
Image Processing Transforms. More...
#include <Transforms.h>
Public Member Functions | |
std::string | getDescription () const |
Get description of processing engine. | |
void | normalize (RawTile &in, const std::vector< float > &max, const std::vector< float > &min) |
Function to create normalized array. | |
void | cmap (RawTile &in, enum cmap_type cmap) |
Function to apply colormap to gray images. | |
void | inv (RawTile &in) |
Function to invert colormaps. | |
void | shade (RawTile &in, int h_angle, int v_angle) |
Hillshading function to simulate raking light images. | |
void | LAB2sRGB (RawTile &in) |
Convert from CIELAB to sRGB colour space. | |
void | scale_to_8bit (RawTile &in) |
Fast efficient scaling from higher fixed point bit depths to 8 bit. | |
void | contrast (RawTile &in, float c) |
Function to apply a contrast adjustment and clip to 8 bit. | |
void | gamma (RawTile &in, float g) |
Apply a gamma correction (exponential transform) | |
void | log (RawTile &in) |
Apply log transform: out = c log( 1 + in ) | |
void | interpolate_nearestneighbour (RawTile &in, unsigned int w, unsigned int h) |
Resize image using nearest neighbour interpolation. | |
void | interpolate_bilinear (RawTile &in, unsigned int w, unsigned int h) |
Resize image using bilinear interpolation. | |
void | rotate (RawTile &in, float angle) |
Rotate image - currently only by 90, 180 or 270 degrees, other values will do nothing. | |
void | greyscale (RawTile &in) |
Convert image to grayscale. | |
void | twist (RawTile &in, const std::vector< std::vector< float > > &ctw) |
Apply a color twist. | |
void | flatten (RawTile &in, int bands) |
Extract bands. | |
void | flip (RawTile &in, int o) |
Flip image. | |
std::vector< unsigned int > | histogram (RawTile &in, const std::vector< float > &max, const std::vector< float > &min) |
Calculate histogram of an image. | |
unsigned char | threshold (std::vector< unsigned int > &histogram) |
Calculate threshold for binary (bi-level) segmentation. | |
void | binary (RawTile &in, unsigned char threshold) |
Create binary (bi-level) image. | |
void | equalize (RawTile &in, std::vector< unsigned int > &histogram) |
Apply histogram equalization to an image. | |
void | convolution (RawTile &in, const std::vector< float > &conv) |
Apply convolution. | |
Image Processing Transforms.
void Transform::binary | ( | RawTile & | in, |
unsigned char | threshold | ||
) |
Create binary (bi-level) image.
in | input image |
threshold | threshold for binary image segmentation |
void Transform::cmap | ( | RawTile & | in, |
enum cmap_type | cmap | ||
) |
Function to apply colormap to gray images.
in | tile data to be converted |
cmap | color map to apply. |
void Transform::contrast | ( | RawTile & | in, |
float | c | ||
) |
Function to apply a contrast adjustment and clip to 8 bit.
in | tile data to be adjusted |
c | contrast value |
void Transform::convolution | ( | RawTile & | in, |
const std::vector< float > & | conv | ||
) |
Apply convolution.
in | input image |
conv | convolution matrix |
void Transform::equalize | ( | RawTile & | in, |
std::vector< unsigned int > & | histogram | ||
) |
Apply histogram equalization to an image.
in | input image |
histogram | image histogram |
void Transform::flatten | ( | RawTile & | in, |
int | bands | ||
) |
Extract bands.
in | input image |
bands | number of bands |
void Transform::flip | ( | RawTile & | in, |
int | o | ||
) |
Flip image.
in | input image |
o | orientation (0=horizontal,1=vertical) |
void Transform::gamma | ( | RawTile & | in, |
float | g | ||
) |
Apply a gamma correction (exponential transform)
in | tile input data |
g | gamma |
void Transform::greyscale | ( | RawTile & | in | ) |
Convert image to grayscale.
in | input image |
std::vector< unsigned int > Transform::histogram | ( | RawTile & | in, |
const std::vector< float > & | max, | ||
const std::vector< float > & | min | ||
) |
Calculate histogram of an image.
in | input image |
max | max image values for each channel |
min | min image values for each channel |
void Transform::interpolate_bilinear | ( | RawTile & | in, |
unsigned int | w, | ||
unsigned int | h | ||
) |
Resize image using bilinear interpolation.
in | tile input data |
w | target width |
h | target height |
void Transform::interpolate_nearestneighbour | ( | RawTile & | in, |
unsigned int | w, | ||
unsigned int | h | ||
) |
Resize image using nearest neighbour interpolation.
in | tile input data |
w | target width |
h | target height |
void Transform::inv | ( | RawTile & | in | ) |
Function to invert colormaps.
in | tile data to be adjusted |
void Transform::LAB2sRGB | ( | RawTile & | in | ) |
Convert from CIELAB to sRGB colour space.
in | tile data to be converted |
void Transform::log | ( | RawTile & | in | ) |
Apply log transform: out = c log( 1 + in )
in | input image |
void Transform::normalize | ( | RawTile & | in, |
const std::vector< float > & | max, | ||
const std::vector< float > & | min | ||
) |
Function to create normalized array.
in | tile data to be adjusted |
min | : vector of minima |
max | : vector of maxima |
void Transform::rotate | ( | RawTile & | in, |
float | angle | ||
) |
Rotate image - currently only by 90, 180 or 270 degrees, other values will do nothing.
in | tile input data |
angle | angle of rotation - currently only rotations by 90, 180 and 270 degrees are suported, for other values, no rotation will occur |
void Transform::scale_to_8bit | ( | RawTile & | in | ) |
Fast efficient scaling from higher fixed point bit depths to 8 bit.
in | tile data to be converted |
void Transform::shade | ( | RawTile & | in, |
int | h_angle, | ||
int | v_angle | ||
) |
Hillshading function to simulate raking light images.
in | tile input data containing normal vectors at each point |
h_angle | angle in the horizontal plane from 12 o'clock in degrees |
v_angle | angle in the vertical plane in degrees. 0 is flat, 90 pointing directly down. |
unsigned char Transform::threshold | ( | std::vector< unsigned int > & | histogram | ) |
Calculate threshold for binary (bi-level) segmentation.
histogram | image histogram |
void Transform::twist | ( | RawTile & | in, |
const std::vector< std::vector< float > > & | ctw | ||
) |
Apply a color twist.
in | input image |
ctw | 2D color twist matrix |