oevislib_net  0.14.3.0
Loading...
Searching...
No Matches

Represent an image as a two-dimensional grid of pixels. More...

Inheritance diagram for oevislib_net.Image:

Public Member Functions

 Image ()
 Construct an empty Image object, with pixel type set to UInt8 and 1 channel.
 Image (int inWidth, int inHeight, PixelType inPixelType, int inChannels)
 Construct an Image object, setting size, pixel type and number of channels.
 Image (int inWidth, int inHeight, PixelType inPixelType, int inChannels, IntPtr inData, bool inDeepCopy=true)
 Construct a new Image object by wrapping existing data.
 Image (int inWidth, int inHeight, PixelType inPixelType, int inChannels, Box inBox)
 Construct a new Image object, using a box to identify the non-zero pixels.
 Image (int inWidth, int inHeight, PixelType inPixelType, int inChannels, Region inRoi)
 Construct a new Image object from a Region of interest.
 Image (int inWidth, int inHeight, PixelType inPixelType, int inChannels, Pixel inPixel)
 Construct an Image object with all the pixels set to a specific value.
 Image (int inWidth, int inHeight, PixelType inPixelType, int inChannels, Array< Pixel > inPixels)
 Construct an Image object from an array of pixels.
 Image (Array< Profile > inProfiles)
 Construct a new Image object by joining an array of profiles together as consecutive image rows.
Image Copy ()
Image Copy (Box inRoi)
 Returns a copy of the image with black pixels outside the box.
Image Copy (Region inRoi)
 Returns a copy of the image with black pixels outside the region.
Image CropFromBox (Box inRoi)
ByteBuffer Serialize ()
 Serialize the Image object using flatbuffers.
IntPtr GetData ()
 Returns the pointer to the image's data.
int GetDataSize ()
 Returns the size of a single image pixel in bytes.
Size GetFrame ()
 Returns a Size object containing the image's width and height.
int GetWidth ()
 Returns the width of the image.
int GetHeight ()
 Returns the height of the image.
int GetArea ()
 Returns the area of the image.
int GetChannels ()
 Returns the number of channels of the image.
ImageFormat GetImageFormat ()
 Returns an ImageFormat object associated with the image object.
PixelType GetPixelType ()
 Returns the image's pixel type.
float GetMaxValue ()
 Returns the maximum pixel's value for the current pixel type.
float GetMinValue ()
 Returns the minimum pixel's value for the current pixel type.
int GetPitch ()
 Returns the pitch (bytes in a row) of the image.
PixelFormat GetPixelFormat ()
 Returns the image's pixel format.
int GetPixelSize ()
 Returns the size of a single pixel in bytes.
bool IsEmpty ()
 Returns whether the image is empty.
void SetValue (float inValue, int inX, int inY, int inChannel=0)
 Set the pixel's value in a specific spot.
void SetPixel (Pixel inPixel, Point2Di inPosition)
 Sets a pixel of the image to the selected value.
void SetPixels (Pixel inPixel)
 Sets all pixels of the image to one value.
void SetPixels (Pixel inPixel, Array< Point2Di > inPositions)
 Sets a selection of pixels to a new value.
void SetPixels (Array< Pixel > inPixels, Array< Point2Di > inPositions)
 Sets a selection of pixels, each one to a specific new value.
void SetPixelsInRegion (Pixel inPixel, Region inRoi)
 Sets the pixels inside the specified region to a new value.
void SetPixelsInBox (Pixel inPixel, Box inRoi)
 Sets the pixels inside the specified box to a new value.
void SetColumn (int inColIndex, Pixel inPixel)
 Sets pixel values on an entire column of the image.
void SetRow (int inRowIndex, Pixel inPixel)
 Sets pixel values in an entire row of the image.
float GetValue (int inX, int inY, int inChannel=0)
 Returns the pixel's value given a specific spot.
float GetGrayValue (int inX, int inY)
 Returns the grayscale pixel's value given a specific spot.
Pixel GetPixel (Point2Di inPosition)
 Returns a single pixel of the image.
Pixel GetInterpolatedPixel (Point2D inPosition, InterpolationMethod2D inInterpolation=InterpolationMethod2D.Bilinear)
 Returns an interpolated pixel on the image.
Array< PixelGetInterpolatedPixels (Array< Point2D > inPositions, InterpolationMethod2D inInterpolation=InterpolationMethod2D.Bilinear)
 Returns an array of pixel values at specified positions.
Array< PixelGetPixels (Array< Point2Di > inPositions)
 Returns an array of pixels at specified positions.
Array< PixelGetPixelsFromRegion (Region inRoi, Optional< Array< Point2Di > > outPositions=null)
 Returns an array of pixels (and their relative positions) inside a specified region.
Array< PixelGetPixelsFromBox (Box inRoi, Optional< Array< Point2Di > > outPositions=null)
 Returns an array of pixels (and their relative positions) inside a box.
Array< PixelGetColumn (int inColIndex)
 Extracts the array of pixel values from a single column of the image.
Image GetColumnImage (int inColIndex)
 Creates a new image using a single column of the current one.
Array< PixelGetRow (int inRowIndex)
 Extracts the array of pixel values from a single row of the image.
Image GetRowImage (int inRowIndex)
 Creates a new image using a single row of the current one.
void ConvertToType (PixelType inNewType)
 Changes the pixel type (in-place).
Image ConvertToType (PixelType inNewType, int inDepthDelta)
 Changes the pixel type.
Region ToRegion ()
 Convert every non-zero pixel of the 1-channel image to a point in the output region.
Image ConvertColorSpace (ColorConversionCode inConversionCode)
 Convert the image color space depending on the conversion code specified.
Image ConvertToGrayscale (Optional< Region > inRoi=null)
 Convert the image to grayscale (luminance).
Image ConvertBayerToRgb (DebayeringMethod inDebayeringMethod, BayerType inBayerType)
 Converts a Bayer-encoded color image into RGB.
Array< ImageSplitBayer ()
 Splits the image into four Bayer images, one for each of the four colors.
Image ConvertGradients (bool inUseAlphaChannel)
 Creates an RGB(A) image from a 2-channel image returned by Image::gradients.
Image ConvertToMultiChannel (int inNewChannels=3, Optional< Region > inRoi=null)
 Creates a multichannel image from a monochromatic one by replicating its channel.
Image ExtractChannel (int inChannelIndex, Optional< Region > inRoi=null)
 Extracts one channel from the image.
Image MixChannels (int inCoeff1, int inCoeff2, int inCoeff3, int inCoeff4, int inDivider)
 Compute a linear combination of image channels.
Image AverageChannels (Optional< Region > inRoi=null, int inWeight1=1, int inWeight2=1, int inWeight3=1, int inWeight4=1)
 Creates a monochromatic image by averaging its channels.
void ReverseChannels ()
 Reverses the order of the channels in the current image (callable only on a 3-channel image).
Array< ImageSplit ()
 Split image into its separate channels.
Image AddChannels (Optional< Region > inRoi=null, bool inConsiderSaturation=false)
 Creates a monochromatic image by summing the values of the current image channels.
void Normalize (Optional< Region > inRoi=null, float inNewMinimum=0.0f, float inNewMaximum=255.0f, float inSaturateBrightestFraction=0.0f, float inSaturateDarkestFraction=0.0f, float inMinValue=0.0f, float inMaxValue=255.0f, Optional< float > outA=null, Optional< float > outB=null, Optional< Region > outLinearNormalizedRegion=null)
 Normalizes the image (in-place) so that its minimum becomes inNewMinimum and the maximum becomes inNewMaximum.
void NormalizeLocalContrast (Optional< Region > inRoi=null, float inTargetMean=128.0f, float inTargetVariance=50.0f, int inUniformnessRadius=1, float inBrightnessPreserveRatio=0.0f)
 Normalizes the local contrast of the image.
void EqualizeHistogram (Optional< Region > inRoi=null, float inSaturateBrightestFraction=0.0f, float inSaturateDarkestFraction=0.0f)
 Update the image's pixels to new values to achieve a uniform distribution of intensities in the range (0, 255).
void Sharpen (KernelShape inKernel=KernelShape.Box, int inRadiusX=1, Optional< int > inRadiusY=null, float inContrastFactor=1.0f)
 Enhances the contrast of the image to make it look sharper.
Point2D GetAnchoredPoint (Anchor2D inPointAnchor)
 Returns one of the 9 anchor points of an image (corners or mid-points).
Box GetBox ()
 Returns the box representing the Image's border.
Array< float > GetPixelValues (Optional< Region > inRoi=null)
 Extracts the array of pixels present in the image (or in the specified region).
Histogram GetHistogram (int inChannelIndex, Optional< Region > inRoi=null, float inDomainBegin=0.0f, int inBinCount=256, float inBinSize=1.0f)
 Creates the histogram from the image's pixel distribution.
float GetMoment (ImageMoment inMomentType, bool inCentral=false, Optional< Region > inRoi=null)
 Computes the selected moment of the image.
float GetNormMoment (ImageMoment inMomentType, bool inCentral=false, Optional< Region > inRoi=null)
 Computes the selected normalized moment of the image.
float GetOrientation (Optional< Region > inRoi=null)
 Returns the image's orientation (based on its moments).
Profile GetProjection (Optional< Region > inRoi, ProjectionDirection inProjectionDirection, ProjectionCombination inProjectionCombination)
 Computes the average (or another pixel combination) for each image row or column and merges it into a profile.
Profile GetProfileAlongPath (Path inScanPath, Optional< UCS2D > inScanPathAlignment, int inScanWidth, SamplingParams inSamplingParams, float inSmoothingStdDev, AccumulationMode inAccumulationMode, Pixel inBorderColor, Optional< Path > outPath, Optional< Path > outAlignedScanPath, Optional< Array< Path > > outSamplingPoints, Optional< float > outSamplingStep)
 Returns the profile based on the image's pixels found on the specified path.
Profile GetProfileAlongPath (ScanTemplate inScanTemplate, float inSmoothingStdDev, AccumulationMode inAccumulationMode, Pixel inBorderColor, Optional< Path > outPath)
 Returns the profile of the image's pixels specified by the scan template in input.
Point2D GetMassCenter (Optional< Region > inRoi=null)
 Computes the mass center (based on the image's moments).
Array< Extremum2DGetLocalMinima (bool inConsiderLowlands, Optional< Region > inRoi, Optional< float > inMinValue, Optional< float > inMaxValue, float inMinDistance, Optional< Array< Region > > outMinimaRegions)
 Search for the local minima in the image.
Array< Extremum2DGetLocalMaxima (bool inConsiderLowlands, Optional< Region > inRoi, Optional< float > inMinValue, Optional< float > inMaxValue, float inMinDistance, Optional< Array< Region > > outMaximaRegions)
 Search for the local maxima in the image.
Point2D GetCenter ()
 Returns the geometrical center of the image.
float GetSharpness (Optional< Box > inRoi=null)
 Returns the sharpness of the image.
float GetStdDev (Optional< Region > inRoi=null)
 Computes the standard deviation of image pixel values.
ByteBuffer Encode (ImageFileFormat inImageFileFormat, bool inIgnoreErrors=false)
 Encode the image into a buffer.
string EncodeToBase64 (ImageFileFormat inImageFileFormat, bool inIgnoreErrors=false)
 Encode the image into a Base64 string.
void Save (string inFile, Optional< ImageFileFormat > inImageFileFormat=null, bool inIgnoreErrors=false)
 Saves the image in a file.
Image Convolve (Matrix inMask, bool inNormalizeMask=false, Point2Di inMaskOrigin=null, Optional< Region > inRoi=null)
 Computes a convolution of the image.
Image Gradients (float inStdDevX, Optional< float > inStdDevY=null, Optional< Region > inRoi=null)
 Computes the gradients of the image using a Gaussian kernel.
Image Gradients (GradientMethod inGradientMethod, int inScale, Optional< Region > inRoi=null)
 Computes the gradients of the image.
Image Gradients (DifferentiationMethod inDifferentiationMethod, GradientOrientation inGradientOrientation, EdgeTransition inEdgeTransition, Optional< Region > inRoi)
 Compute the gradients of the image in a specific direction.
Image MeasureGradients (GradientMethod inGradientMethod, MagnitudeMeasure inMagnitudeMeasure, int inScale, Optional< Region > inRoi)
 Measures the strength of the gradient in each pixel.
Image GradientDirections (GradientMethod inGradientMethod, float inEdgeThreshold, AngleRange inAngleRange, Optional< Region > inRoi)
 Computes the gradient directions.
Image DifferenceOfGaussians (float inStdDev, float inStdDevRatio, float inKernelRelativeSize, float inScale, Optional< Region > inRoi, Optional< Profile > outKernelShape)
 Computes the difference between two Gaussian smoothed images.
Image GetStdDevImage (int inKernelRadius, Optional< Region > inRoi=null, Optional< Region > inSourceRoi=null)
 Creates an image with as pixels their local standard deviations.
Image ApplyLUT (PixelLUT inLUT, Optional< Region > inRoi=null)
 Applies a lookup table to the image.
float Correlation (Image inPatternImage, CorrelationMeasure inCorrelationMeasure, Optional< Region > inRoi=null)
 Computes the correlation between the image and a chosen pattern.
Image CorrelationImage (Image inPatternImage, CorrelationMeasure inCorrelationMeasure, Optional< Region > inRoi, Optional< Region > inPatternRoi)
 Computes the correlation between the image and a chosen pattern, returning as output an image where each pixel represents a single comparison result.
float Dissimilarity (Image inPatternImage, DistanceMeasure inDistanceMeasure, Optional< Region > inRoi=null)
 Measures the dissimilarity between the image and a chosen pattern.
Image DissimilarityImage (Image inPatternImage, DistanceMeasure inDistanceMeasure, Optional< Region > inRoi, Optional< Region > inPatternRoi)
 Measures the dissimilarity between the image and a chosen pattern (moving on all image).
Image Dilate (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor, Optional< Region > outKernel)
 Computes a dilation of the image using a specific kernel.
Image Dilate (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes a dilation of the image using a Region as kernel.
Image Dilate (MorphologyKernel inKernel, Optional< Region > inRoi=null)
 Computes a dilation of the image using a predefined kernel.
Image Erode (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor, Optional< Region > outKernel)
 Computes an erosion of the image using a specific kernel.
Image Erode (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes an erosion of the image using a Region as kernel.
Image Erode (MorphologyKernel inKernel, Optional< Region > inRoi=null)
 Computes an erosion of the image using a predefined kernel.
void DilateAndErode (Image outDilated, Image outEroded, KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes dilation and erosion on the image simultaneously (faster than the two separate operations).
void DilateErodeAndAverage (Image outDilated, Image outEroded, Image outAveraged, KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes dilation, erosion and average simultaneously (faster execution).
Image Open (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor, Optional< Region > outKernel)
 Computes the opening of the image using a specific kernel.
Image Open (MorphologyKernel inKernel, Optional< Region > inRoi=null, Optional< Pixel > inBorderColor=null)
 Computes the opening of the image using a predefined kernel.
Image Open (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes the opening of the image using a Region as kernel.
Image Close (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor, Optional< Region > outKernel)
 Computes the closing of the image using a specific kernel.
Image Close (MorphologyKernel inKernel, Optional< Region > inRoi=null, Optional< Pixel > inBorderColor=null)
 Computes the closing of the image using a predefined kernel.
Image Close (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes the closing of the image using a Region as kernel.
Image TopHat (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor, Optional< Region > outKernel)
 Computes the top hat of the image using a specific kernel.
Image TopHat (MorphologyKernel inKernel, Optional< Region > inRoi=null, Optional< Pixel > inBorderColor=null)
 Computes the top hat of the image using a predefined kernel.
Image TopHat (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes the bottom hat of the image using a Region as kernel.
Image BottomHat (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor, Optional< Region > outKernel)
 Computes the bottom hat of the image using a specific kernel.
Image BottomHat (MorphologyKernel inKernel, Optional< Region > inRoi=null, Optional< Pixel > inBorderColor=null)
 Computes the bottom hat of the image using a predefined kernel.
Image BottomHat (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Computes the bottom hat of the image using a Region as kernel.
Image HitAndMiss (Region inHitKernel, Region inMissKernel)
 Apply the Hit&Miss kernel to the image.
Image Prune (int inMaxLength)
 Prune the image.
float GetMin (Optional< Region > inRoi=null, Optional< Point2Di > outMinPosition=null)
 Returns the value of the darkest pixel (and its position).
float GetMax (Optional< Region > inRoi=null, Optional< Point2Di > outMaxPosition=null)
 Returns the value of the brightest pixel (and its position).
float SumPixels (Optional< Region > inRoi=null, Optional< Pixel > outSumColor=null)
 Returns the sum of the pixels.
float GetAverage (Optional< Region > inRoi=null, Optional< Pixel > outAvgColor=null)
 Returns the average value between the pixels in the range.
Pixel GetAverageHSx (HSxModel inHSxModel, int inMinSaturation, Optional< Region > inRoi=null)
 Returns the average pixel value for the HSV, HSL or HSI images.
void GetStats (Optional< Region > inRoi, Optional< Point2Di > outMinPosition, Optional< float > outMinValue, Optional< Point2Di > outMaxPosition, Optional< float > outMaxValue, Optional< Pixel > outAvgColor, Optional< float > outAvgValue, Optional< Pixel > outSumColor, Optional< float > outSumValue)
 Returns various statistics for the image pixels.
void Pow (float inExponent, Optional< Region > inRoi=null)
 Raises each pixel to the given power.
void CorrectGamma (float inGamma, Optional< Region > inRoi, Optional< float > inMinValue, Optional< float > inMaxValue)
 Performs gamma correction on the image.
void Log (float inScale=255.0f, float inOffset=1.0f, bool inNormalizeZero=false, Optional< Region > inRoi=null, Optional< Profile > outLutProfile=null)
 Computes the natural logarithm of every pixel.
void Negate (Optional< Region > inRoi=null)
 Reverts the pixel value range (if unsigned) or negates the pixel values (if signed).
void Invert (float inDividend, Optional< Region > inRoi=null)
 Inverts each pixel value (every value x is replaced with 1/x).
void Add (float inValue, Optional< Region > inRoi=null)
 Adds a scalar value to each pixel.
void Subtract (float inValue, Optional< Region > inRoi=null)
 Subtracts each pixel by a scalar value.
void Multiply (float inValue, Optional< Region > inRoi=null)
 Multiplies each pixel by a scalar value.
void Divide (float inValue, Optional< Region > inRoi=null)
 Divides each pixel by a scalar value.
void Rescale (float inMul=1.0f, float inAdd=0.0f, Optional< Region > inRoi=null)
 Rescales the pixels (using a linear transformation).
void Replace (Pixel inOldPixel, Pixel inNewPixel, Optional< Region > inRoi=null)
 Replaces pixels having the specified pixel value with a new one.
void Abs (Optional< Region > inRoi=null)
 Transforms pixel values in their absolute value.
void Sqrt (Optional< Region > inRoi=null)
 Performs the square root of each pixel.
void Square (Optional< Region > inRoi=null)
 Raises each pixel to the second power.
Image AddNoise (float inMinValue=0.0f, float inMaxValue=256.0f, float inNoiseStrength=0.5f, bool inColorNoise=false, Optional< int > inSeed=null)
 Adds some noise to the image.
bool Contains (Point2Di inPosition)
 Tests if a pixel position is contained in the image.
bool Contains (Box inBox)
 Tests if a box is contained in the image.
bool Contains (Point2D inPoint)
 Tests if a point is contained in the image.
bool Contains (Rectangle2D inRectangle)
 Tests if a rectangle is contained in the image.
bool IsEqualTo (Image inReferenceImage)
Image Smooth (int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Smooths an image by averaging the pixels inside a specific kernel.
Image Smooth (Region inKernel, Point2Di inKernelAnchor, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Smooths an image by averaging the pixels inside a Region kernel.
Image Smooth (MeanKernel inKernel, Optional< Region > inRoi=null)
 Smooths an image by averaging the pixels inside a predefined kernel.
Image MedianSmooth (int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi)
 Replaces each pixel with the median of pixels inside a kernel.
Image MedianSmooth (Optional< Region > inRoi=null)
 Replaces each pixel with the median of pixels inside a kernel with radius 3.
Image QuantileSmooth (float inQuantile, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi)
 Replaces each pixel with a quantile of the pixels inside a specific kernel.
Image BilateralSmooth (float inDistanceSigma, float inColorSigma, int inIterationCount, Optional< Region > inRoi)
 Smooths the image preserving sharp edges (using a 3x3 kernel).
Image GaussianSmooth (float inStdDevX, Optional< float > inStdDevY, float inKernelRelativeSize, Optional< Region > inRoi, Optional< int > outKernelRadiusX, Optional< int > outKernelRadiusY)
 Smooths the image using a Gaussian kernel.
Image GaussianSmooth (GaussianKernel inKernel, Optional< Region > inRoi=null)
 Smooths the image using a predefined Gaussian kernel.
Image MiddleSmooth (KernelShape inKernelShape, int inRadiusX, Optional< int > inRadiusY, Optional< Region > inRoi, Optional< Region > inSourceRoi, Optional< Pixel > inBorderColor)
 Replaces each pixel with the middle value of the kernel.
Image SmoothGradientDirections (int inRadiusX, Optional< int > inRadiusY=null, int inMinSampleCount=0)
 Smooths the result of Image::gradientDirections.
Image Transpose ()
 Inverts columns and rows of the image.
Image Rotate (float inAngle=45.0f, RotationSize inRotationSize=RotationSize.Preserve, InterpolationMethod2D inInterpolationMethod=InterpolationMethod2D.Bilinear, bool inInverse=false, Optional< Point2D > inCenter=null, Optional< UCS2D > outOutputAlignment=null)
 Rotates the image clockwise.
Image Downsample (int inFactor)
 Downsamples the image, decreasing its size by a factor of two along each axis.
Image Resize (int inWidth, int inHeight, ResizeMethod inResizeMethod)
 Resizes the image, setting new width and height.
Image Resize (int inLength, Dimension inDimension, ResizeMethod inResizeMethod)
 Resizes the image, setting new length along the chosen dimension and adapting the other dimension (to maintain the original aspect ratio).
Image Resize (float inScaleX, float inScaleY, ResizeMethod inResizeMethod)
 Resizes the image, specifying the relative scale for each axis.
Array< ImagePyramidDownsample (int inMinPyramidLevel, int inMaxPyramidLevel)
 Creates an array of images, where each one represent a downsampled version of the previous one.
Array< ImageGaussianPyramidDownsample (int inMinPyramidLevel, int inMaxPyramidLevel, GaussianKernel inGaussianKernel)
 Creates an array of images, where each one represent a downsampled (and smoothed) version of the previous one.
Image Mirror (MirrorDirection inMirrorDirection)
 Inverts image's columns and/or rows.
Image Shear (Axis inAxis, float inShift=0.0f, InterpolationMethod2D inInterpolationMethod=InterpolationMethod2D.Bilinear)
 Shifts the rows of the image by a certain amount.
Image Crop (Box inSelection, Pixel inBorder)
 Crops the image with a box.
Image Uncrop (Box inSelection, int inWidth, int inHeight)
 Reverses a crop operation.
Image Crop (Rectangle2D inRectangle, Optional< UCS2D > inRectangleAlignment, CropScale inCropScale, InterpolationMethod2D inInterpolationMethod, float inMargin, Pixel inBorder, Optional< Rectangle2D > outAlignedRectangle, Optional< UCS2D > outOutputAlignment)
 Crops the image with a rectangle.
Image Crop (Path inQuadrangle, Optional< UCS2D > inQuadrangleAlignment, Optional< Size > inOutputSize, InterpolationMethod2D inInterpolationMethod, int inMargin, Pixel inBorder, Optional< Path > outAlignedQuadrangle)
 Crops the image with a quadrangle (a Path of 4 points).
Image Trim (Region inRegion, Pixel inBorder)
 Trims the image to the specified region.
Image Translate (Vector2D inDelta, bool inInverse=false, Pixel inBorder=null)
 Translates the image by a vector.
Image Polar (Point2D inCenter, PolarSpace inPolarSpace, PolarInterpolationMethod inInterpolationMethod, bool inInverse)
 Transforms the image to polar or log-polar space.
Image Transform (Matrix inTransformMatrix, bool inInverse=false, InterpolationMethod2D inInterpolationMethod=InterpolationMethod2D.Bilinear)
 Transforms the image using a specified matrix.
Image Threshold (Optional< float > inMinValue=null, Optional< float > inMaxValue=null, Optional< Region > inRoi=null)
 Binarizes the image using a threshold range.
Image Threshold (Image inReferenceImage, Optional< float > inMinRelativeValue, Optional< float > inMaxRelativeValue, Optional< Region > inRoi)
 Binarizes the image using a threshold range, based on another reference image.
Image Threshold (DynamicThresholdMethod inDynamicThresholdMethod, KernelShape inKernel, int inRadiusX, Optional< int > inRadiusY, Optional< float > inMinRelativeValue, Optional< float > inMaxRelativeValue, Optional< Region > inRoi, Optional< Region > inSourceRoi)
 Binarizes the image using a threshold range, relative to the value in its local neighborhood.
Image Threshold (HSxModel inHSxModel, int inMinHue, int inMaxHue, Optional< int > inMinSaturation, Optional< int > inMaxSaturation, Optional< int > inMinBrightness, Optional< int > inMaxBrightness, Optional< Region > inRoi)
 Binarizes the image using a threshold range, after converting it to the selected HSx color space.
Image Threshold (Optional< int > inMinRed, Optional< int > inMaxRed, Optional< int > inMinGreen, Optional< int > inMaxGreen, Optional< int > inMinBlue, Optional< int > inMaxBlue, Optional< int > inMinAlpha, Optional< int > inMaxAlpha, Optional< Region > inRoi)
 Binarizes the image using a threshold range, one for every RGB(A) channel.
Image Threshold (Pixel inRgbPixel, float inChromaAmount, float inMaxDifference, Optional< Region > inRoi=null)
 Binarizes the image based on the distance from a specific pixel color.
Image HysteresisThreshold (Optional< float > inMinValue, Optional< float > inMaxValue, float inHysteresis, Optional< Region > inRoi)
 Binarizes the image using a threshold range and hysteresis (using a lower threshold for neighboring pixels).
float FindBestThresholdValue (ThresholdSelectionMethod inSelectionMethod, Optional< Region > inRoi, Optional< Array< float > > outBackgroundPixelsFraction, Optional< Array< float > > outForegroundPixelsFraction)
 Finds the best threshold value based on the image pixels distribution.
Region ThresholdToRegion (Optional< float > inMinValue=null, Optional< float > inMaxValue=null, Optional< Region > inRoi=null)
 Thresholds the image and converts it into a Region.
Region ThresholdToRegion (Image inReferenceImage, Optional< float > inMinRelativeValue, Optional< float > inMaxRelativeValue, Optional< Region > inRoi)
 Thresholds the image, relatively to another one, and converts it into a region.
Array< RegionThresholdToRegions (Image inReferenceImage, float inBrightThreshold, float inDarkThreshold, Optional< Region > inRoi)
 Thresholds an image using two relative thresholds to separate foreground and background regions.
Region ThresholdToRegion (int inRadiusX, Optional< int > inRadiusY, Optional< float > inMinRelativeValue, Optional< float > inMaxRelativeValue, Optional< Region > inRoi, Optional< Region > inSourceRoi)
 Thresholds the image, based on the average pixel in its local neighborhood, and converts it to region.
Region ThresholdToRegion (HSxModel inHSxModel, int inMinHue, int inMaxHue, Optional< int > inMinSaturation, Optional< int > inMaxSaturation, Optional< int > inMinBrightness, Optional< int > inMaxBrightness, Optional< Region > inRoi)
 Threshold the image, after converting it in the selected HSx color space, and converts it to region.
Region ThresholdToRegion (Optional< int > inMinRed, Optional< int > inMaxRed, Optional< int > inMinGreen, Optional< int > inMaxGreen, Optional< int > inMinBlue, Optional< int > inMaxBlue, Optional< int > inMinAlpha, Optional< int > inMaxAlpha, Optional< Region > inRoi)
 Thresholds the image, separately for every RGB(A) channel, and converts it to region.
Region ThresholdToRegion (Pixel inRgbPixel, float inChromaAmount, float inMaxDifference, Optional< Region > inRoi)
 Thresholds the image, based on a pixel color, and converts it to region.
Image Remap (ImageMap inImageMap, InterpolationMethod2D inInterpolationMethod, Optional< Region > inMapRoi=null)
 Applies an ImageMap (precomputed image transformation).
Image Remap (CalibrationMap inCalibrationMap, InterpolationMethod2D inInterpolationMethod, Optional< Region > inMapRoi)
bool Equals (Image other)
override bool Equals (object obj)
override int GetHashCode ()
override object Clone ()
 Returns a clone of the image.
override void Dispose ()

Static Public Member Functions

static bool operator== (Image inImage1, Image inImage2)
static bool operator!= (Image inImage1, Image inImage2)
static Image operator- (Image inImage)
 Reverts the pixel value range (if unsigned) or negates the pixel values (if signed).
static Image operator+ (Image inImage, float inValue)
 Adds a scalar value to each pixel of an image.
static Image operator- (Image inImage, float inValue)
 Subtracts each pixel of an image by a scalar value.
static Image operator* (Image inImage, float inValue)
 Multiplies each pixel of an image by a scalar value.
static Image operator/ (Image inImage, float inValue)
 Divides each pixel of an image by a scalar value.
static Image operator+ (Image inImage1, Image inImage2)
 Sums two images pixel by pixel.
static Image operator- (Image inImage1, Image inImage2)
 Subtracts the second image from the first one pixel by pixel.
static Image operator* (Image inImage1, Image inImage2)
 Multiplies two images pixel by pixel.
static Image operator/ (Image inImage1, Image inImage2)
static Image Deserialize (ByteBuffer inBuffer)
 De-serialize an Image buffer.
static Image MergeChannels (Image inImage1, Image inImage2, Optional< Image > inImage3=null, Optional< Image > inImage4=null)
 Creates a multichannel image from several monochromatic ones.
static void DrawCircle (Image ioImage, Circle2D inCircle, Pixel inColor, UCS2D inCircleAlignment, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws a circle on an image.
static void DrawCircles (Image ioImage, Array< Circle2D > inCircles, Array< Pixel > inColors, Array< UCS2D > inCircleAlignments, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws multiple circles on an image.
static void DrawEllipse (Image ioImage, Ellipse2D inEllipse, Pixel inColor, UCS2D inEllipseAlignment, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws an ellipse on an image.
static void DrawEllipses (Image ioImage, Array< Ellipse2D > inEllipses, Array< Pixel > inColors, Array< UCS2D > inEllipseAlignments, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws multiple ellipses on an image.
static void DrawPath (Image ioImage, Path inPath, Pixel inColor, UCS2D inPathAlignment, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws a path on an image.
static void DrawPaths (Image ioImage, Array< Path > inPaths, Array< Pixel > inColors, Array< UCS2D > inPathAlignments, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws multiple paths on an image.
static void DrawRectangle (Image ioImage, Rectangle2D inRectangle, Pixel inColor, UCS2D inRectangleAlignment, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws a rectangle on an image.
static void DrawRectangles (Image ioImage, Array< Rectangle2D > inRectangles, Array< Pixel > inColors, Array< UCS2D > inRectangleAlignments, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws multiple rectangles on an image.
static void DrawRegion (Image ioImage, Region inRegion, Pixel inColor, UCS2D inRegionAlignment, float inOpacity, bool inForceRgb)
 Draws a region on an image.
static void DrawRegions (Image ioImage, Array< Region > inRegions, Array< Pixel > inColors, Array< UCS2D > inRegionAlignments, float inOpacity, bool inForceRgb)
 Draws a region on an image.
static void DrawRing (Image ioImage, Ring2D inRing, Pixel inColor, UCS2D inRingAlignment, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws a ring on an image.
static void DrawRings (Image ioImage, Array< Ring2D > inRings, Array< Pixel > inColors, Array< UCS2D > inRingAlignments, DrawingStyle inDrawingStyle, bool inForceRgb)
 Draws multiple rings on an image.
static void DrawString (Image ioImage, string inString, string inFont, int inSize, Pixel inColor, Point2Di inPosition, UCS2D inPositionAlignment, Anchor2D inPositionAnchor, bool inForceRgb)
 Draws a string on an image.
static void DrawStrings (Image ioImage, Array< string > inStrings, string inFont, int inSize, Array< Pixel > inColors, Array< Point2Di > inPositions, Array< UCS2D > inPositionAlignments, Array< Anchor2D > inPositionAnchors, bool inForceRgb)
 Draw multiple strings on an image.
static Image Decode (ByteBuffer inBuffer, bool inLoadAlphaChannel=false)
 Decode an image from a buffer.
static Image DecodeFromBase64 (string inString, bool inLoadAlphaChannel=false)
 Decode an image from a Base64 encoded string.
static Image Load (string inFile, bool inLoadAlphaChannel=false)
 Loads an image from a file.
static float PixelDistance (Pixel inPixel1, Pixel inPixel2, float inChromaAmount)
 Compares two pixels using chromatic and non-chromatic information.
static Image SumImages (Image inImage1, Image inImage2, float inWeight1, float inWeight2, Optional< Region > inRoi)
 Sums two images pixel by pixel.
static Image SubtractImages (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Subtracts two images pixel by pixel.
static Image MultiplyImages (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Multiplies two images pixel by pixel.
static Image DivideImages (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Divides two images pixel by pixel.
static Image AbsDifferenceImages (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Computes the absolute distances between corresponding pixel values.
static Image AbsDifferenceImages (Image inImage1, Image inImage2, Box inBox1, Box inBox2)
 Computes the absolute distances between corresponding pixel values, inside the specified boxes.
static Image AverageImages (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Averages two images pixel by pixel.
static Image ComputeMinImage (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Creates an image from the lower pixel values of each corresponding pair.
static Image ComputeMaxImage (Image inImage1, Image inImage2, Optional< Region > inRoi=null)
 Creates an image from the higher pixel values of each corresponding pair.
static Image ComposeImages (Image inImage1, Image inImage2, Region inForegroundRegion, Optional< Region > inRoi=null)
 Creates a new image, taking a set of pixels from the first image and the missing ones from the second image.
static Image ConcatenateImages (Image inImage1, Image inImage2, ConcatDirection inDirection, int inOverlap, BlendingMethod inBlendingMethod)
 Creates a new image, concatenating the two in input.
static Image ConcatenateImages (Array< Image > inImages, ConcatDirection inDirection, Array< int > inOverlap, BlendingMethod inBlendingMethod)
 Creates a new image, concatenating a set of images in input.
static Image StitchImages (Image inImage1, Image inImage2, UCS2D inAlignment, BlendingMethod inBlendingMethod)
 Stitch one image onto another one.
static Image StitchImages (Array< Image > inImages, Array< UCS2D > inAlignments, BlendingMethod inBlendingMethod)
 Stitch multiple images together.
static Image InterpolateImages (Image inImage1, Image inImage2, float inInterpolationValue, Optional< Region > inRoi)
 Interpolates two images linearly pixel by pixel.
static Image InterpolateImages (Image inImage1, Image inImage2, Image inInterpolationValues, Optional< Region > inRoi)
 Interpolates two images linearly pixel by pixel, according to another image's values.

Detailed Description

Represent an image as a two-dimensional grid of pixels.

Supports both monochromatic and multichannel images with 6 possible pixel types (UInt8, Int8, UInt16, Int16, Int32 or Float) and several channels varying from 1 to 4.