WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
VisionAPI.cpp File Reference

Image Management functions. More...

#include <stdlib.h>
#include <stdarg.h>
#include "Vision/BaeUtilities.h"
#include "Vision/FrcError.h"
#include "Vision/VisionAPI.h"

Macros

#define DPRINTF   if (VisionAPI_debugFlag) dprintf
 

Functions

Image * frcCreateImage (ImageType type)
 Create an image object Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_COMPLEX, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL, IMAQ_IMAGE_RGB_U64 The border size is defaulted to 3 so that convolutional algorithms work at the edges. More...
 
int frcDispose (void *object)
 Dispose of one object. More...
 
int frcDispose (const char *functionName,...)
 Dispose of a list of objects. More...
 
int frcCopyImage (Image *dest, const Image *source)
 Copy an image object. More...
 
int frcCrop (Image *dest, const Image *source, Rect rect)
 Crop image without changing the scale. More...
 
int frcScale (Image *dest, const Image *source, int xScale, int yScale, ScalingMode scaleMode)
 Scales the entire image larger or smaller. More...
 
int frcReadImage (Image *image, const char *fileName)
 Creates image object from the information in a file. More...
 
int frcWriteImage (const Image *image, const char *fileName)
 Write image to a file. More...
 
HistogramReport * frcHistogram (const Image *image, int numClasses, float min, float max)
 Measures the pixel intensities in a rectangle of an image. More...
 
HistogramReport * frcHistogram (const Image *image, int numClasses, float min, float max, Rect rect)
 
ColorHistogramReport * frcColorHistogram (const Image *image, int numClasses, ColorMode mode)
 Calculates the histogram, or pixel distribution, of a color image. More...
 
ColorHistogramReport * frcColorHistogram (const Image *image, int numClasses, ColorMode mode, Image *mask)
 
int frcGetPixelValue (const Image *image, Point pixel, PixelValue *value)
 Measures the pixel intensities in a rectangle of an image. More...
 
int frcParticleFilter (Image *dest, Image *source, const ParticleFilterCriteria2 *criteria, int criteriaCount, const ParticleFilterOptions *options, int *numParticles)
 Filters particles out of an image based on their measurements. More...
 
int frcParticleFilter (Image *dest, Image *source, const ParticleFilterCriteria2 *criteria, int criteriaCount, const ParticleFilterOptions *options, Rect rect, int *numParticles)
 
int frcMorphology (Image *dest, Image *source, MorphologyMethod method)
 Performs morphological transformations on binary images. More...
 
int frcMorphology (Image *dest, Image *source, MorphologyMethod method, const StructuringElement *structuringElement)
 
int frcRejectBorder (Image *dest, Image *source)
 Eliminates particles that touch the border of the image. More...
 
int frcRejectBorder (Image *dest, Image *source, int connectivity8)
 
int frcCountParticles (Image *image, int *numParticles)
 Counts the number of particles in a binary image. More...
 
int frcParticleAnalysis (Image *image, int particleNumber, ParticleAnalysisReport *par)
 Conduct measurements for a single particle in an images. More...
 
int frcEqualize (Image *dest, const Image *source, float min, float max)
 Improves contrast on a grayscale image. More...
 
int frcEqualize (Image *dest, const Image *source, float min, float max, const Image *mask)
 
int frcColorEqualize (Image *dest, const Image *source)
 Improves contrast on a color image. More...
 
int frcColorEqualize (Image *dest, const Image *source, int colorEqualization)
 
int frcSmartThreshold (Image *dest, const Image *source, unsigned int windowWidth, unsigned int windowHeight, LocalThresholdMethod method, double deviationWeight, ObjectType type)
 Automatically thresholds a grayscale image into a binary image for Particle Analysis based on a smart threshold. More...
 
int frcSmartThreshold (Image *dest, const Image *source, unsigned int windowWidth, unsigned int windowHeight, LocalThresholdMethod method, double deviationWeight, ObjectType type, float replaceValue)
 
int frcSimpleThreshold (Image *dest, const Image *source, float rangeMin, float rangeMax)
 Converts a grayscale image to a binary image for Particle Analysis based on a fixed threshold. More...
 
int frcSimpleThreshold (Image *dest, const Image *source, float rangeMin, float rangeMax, float newValue)
 Converts a grayscale image to a binary image for Particle Analysis based on a fixed threshold. More...
 
int frcColorThreshold (Image *dest, const Image *source, ColorMode mode, const Range *plane1Range, const Range *plane2Range, const Range *plane3Range)
 Applies a threshold to the Red, Green, and Blue values of a RGB image or the Hue, Saturation, Luminance values for a HSL image. More...
 
int frcColorThreshold (Image *dest, const Image *source, int replaceValue, ColorMode mode, const Range *plane1Range, const Range *plane2Range, const Range *plane3Range)
 Applies a threshold to the Red, Green, and Blue values of a RGB image or the Hue, Saturation, Luminance values for a HSL image. More...
 
int frcHueThreshold (Image *dest, const Image *source, const Range *hueRange)
 A simpler version of ColorThreshold that thresholds hue range in the HSL mode. More...
 
int frcHueThreshold (Image *dest, const Image *source, const Range *hueRange, int minSaturation)
 
int frcExtractColorPlanes (const Image *image, ColorMode mode, Image *plane1, Image *plane2, Image *plane3)
 Extracts the Red, Green, Blue, or Hue, Saturation or Luminance information from a color image. More...
 
int frcExtractHuePlane (const Image *image, Image *huePlane)
 Extracts the Hue information from a color image. More...
 
int frcExtractHuePlane (const Image *image, Image *huePlane, int minSaturation)
 

Variables

int VisionAPI_debugFlag = 1
 

Detailed Description

Image Management functions.

Function Documentation

int frcColorEqualize ( Image *  dest,
const Image *  source 
)

Improves contrast on a color image.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL

option defaults: colorEqualization = TRUE to equalize all three planes of the image

Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
Parameters
destThe destination image.
sourceThe image to equalize
colorEqualizationSet this parameter to TRUE to equalize all three planes of the image (the default). Set this parameter to FALSE to equalize only the luminance plane.
ColorHistogramReport* frcColorHistogram ( const Image *  image,
int  numClasses,
ColorMode  mode 
)

Calculates the histogram, or pixel distribution, of a color image.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL.

Parameters
imageImage whose histogram the function calculates.
numClassesThe number of classes into which the function separates the pixels. Determines the number of elements in the histogram array returned
modeThe color space in which to perform the histogram. Possible values include IMAQ_RGB and IMAQ_HSL.
maskAn optional mask image. This image must be an IMAQ_IMAGE_U8 image. The function calculates the histogram using only those pixels in the image whose corresponding pixels in the mask are non-zero. Set this parameter to nullptr to calculate the histogram of the entire image, or use the simplified call.
Returns
On success, this function returns a report describing the classification of each plane in a HistogramReport. When you are finished with the report, dispose of it by calling frcDispose(). On failure, this function returns nullptr. To get extended error information, call imaqGetLastError().
int frcColorThreshold ( Image *  dest,
const Image *  source,
ColorMode  mode,
const Range *  plane1Range,
const Range *  plane2Range,
const Range *  plane3Range 
)

Applies a threshold to the Red, Green, and Blue values of a RGB image or the Hue, Saturation, Luminance values for a HSL image.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL. This simpler version filters based on a hue range in the HSL mode.

Parameters
destThe destination image. This must be a IMAQ_IMAGE_U8 image.
sourceThe image to threshold
modeThe color space to perform the threshold in. valid values are: IMAQ_RGB, IMAQ_HSL.
plane1RangeThe selection range for the first plane of the image. Set this parameter to nullptr to use a selection range from 0 to 255.
plane2RangeThe selection range for the second plane of the image. Set this parameter to nullptr to use a selection range from 0 to 255.
plane3RangeThe selection range for the third plane of the image. Set this parameter to nullptr to use a selection range from 0 to 255.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcColorThreshold ( Image *  dest,
const Image *  source,
int  replaceValue,
ColorMode  mode,
const Range *  plane1Range,
const Range *  plane2Range,
const Range *  plane3Range 
)

Applies a threshold to the Red, Green, and Blue values of a RGB image or the Hue, Saturation, Luminance values for a HSL image.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL. The simpler version filters based on a hue range in the HSL mode.

Parameters
destThe destination image. This must be a IMAQ_IMAGE_U8 image.
sourceThe image to threshold
replaceValueValue to assign to selected pixels. Defaults to 1 if simplified call is used.
modeThe color space to perform the threshold in. valid values are: IMAQ_RGB, IMAQ_HSL.
plane1RangeThe selection range for the first plane of the image. Set this parameter to nullptr to use a selection range from 0 to 255.
plane2RangeThe selection range for the second plane of the image. Set this parameter to nullptr to use a selection range from 0 to 255.
plane3RangeThe selection range for the third plane of the image. Set this parameter to nullptr to use a selection range from 0 to 255.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcCopyImage ( Image *  dest,
const Image *  source 
)

Copy an image object.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL.

Parameters
destCopy of image. On failure, dest is nullptr. Must have already been created using frcCreateImage(). When you are finished with the created image, dispose of it by calling frcDispose().
sourceImage to copy
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcCountParticles ( Image *  image,
int *  numParticles 
)

Counts the number of particles in a binary image.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL.

Parameters
imagebinary (thresholded) image
numParticlesOn return, the number of particles.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
Image* frcCreateImage ( ImageType  type)

Create an image object Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_COMPLEX, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL, IMAQ_IMAGE_RGB_U64 The border size is defaulted to 3 so that convolutional algorithms work at the edges.

When you are finished with the created image, dispose of it by calling frcDispose(). To get extended error information, call GetLastError().

Parameters
typeType of image to create
Returns
Image* On success, this function returns the created image. On failure, it returns nullptr.
int frcCrop ( Image *  dest,
const Image *  source,
Rect  rect 
)

Crop image without changing the scale.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL.

Parameters
destModified image
sourceImage to crop
rectregion to process, or IMAQ_NO_RECT
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcDispose ( void *  object)

Dispose of one object.

Supports any object created on the heap.

Parameters
objectobject to dispose of
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcDispose ( const char *  functionName,
  ... 
)

Dispose of a list of objects.

Supports any object created on the heap.

Parameters
functionNameThe name of the function
...A list of pointers to structures that need to be disposed of. The last pointer in the list should always be set to nullptr.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcEqualize ( Image *  dest,
const Image *  source,
float  min,
float  max 
)

Improves contrast on a grayscale image.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16.

Parameters
destThe destination image.
sourceThe image to equalize
minthe smallest value used for processing. After processing, all pixel values that are less than or equal to the Minimum in the original image are set to 0 for an 8-bit image. In 16-bit and floating-point images, these pixel values are set to the smallest pixel value found in the original image.
maxthe largest value used for processing. After processing, all pixel values that are greater than or equal to the Maximum in the original image are set to 255 for an 8-bit image. In 16-bit and floating-point images, these pixel values are set to the largest pixel value found in the original image.
maskan 8-bit image that specifies the region of the small image that will be copied. Only those pixels in the Image Src (Small) image that correspond to an equivalent non-zero pixel in the mask image are copied. All other pixels keep their original values. The entire image is processed if Image Mask is nullptr or this parameter is omitted.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().

option defaults: searchRect = IMAQ_NO_RECT minMatchScore = DEFAULT_MINMAX_SCORE (800)

int frcExtractColorPlanes ( const Image *  image,
ColorMode  mode,
Image *  plane1,
Image *  plane2,
Image *  plane3 
)

Extracts the Red, Green, Blue, or Hue, Saturation or Luminance information from a color image.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL, IMAQ_IMAGE_RGB_U64.

Parameters
imageThe source image that the function extracts the planes from.
modeThe color space that the function extracts the planes from. Valid values are IMAQ_RGB, IMAQ_HSL, IMAQ_HSV, IMAQ_HSI.
plane1On return, the first extracted plane. Set this parameter to nullptr if you do not need this information. RGB-Red, HSL/HSV/HSI-Hue.
plane2On return, the second extracted plane. Set this parameter to nullptr if you do not need this information. RGB-Green, HSL/HSV/HSI-Saturation.
plane3On return, the third extracted plane. Set this parameter to nullptr if you do not need this information. RGB-Blue, HSL-Luminance, HSV-Value, HSI-Intensity.
Returns
error code: 0 = error. To get extended error information, call GetLastError().
int frcExtractHuePlane ( const Image *  image,
Image *  huePlane 
)

Extracts the Hue information from a color image.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL, IMAQ_IMAGE_RGB_U64

Parameters
imageThe source image that the function extracts the plane from.
huePlaneOn return, the extracted hue plane.
minSaturationthe minimum saturation level required 0-255 (try 50)
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcGetPixelValue ( const Image *  image,
Point  pixel,
PixelValue *  value 
)

Measures the pixel intensities in a rectangle of an image.

Outputs intensity based statistics about an image such as Max, Min, Mean and Std Dev of pixel value. Supports IMAQ_IMAGE_U8 (grayscale) IMAQ_IMAGE_RGB (color) IMAQ_IMAGE_HSL (color-HSL).

Parameters
imageThe image whose pixel value the function queries
pixelThe coordinates of the pixel that the function queries
valueOn return, the value of the specified image pixel. This parameter cannot be nullptr. This data structure contains either grayscale, RGB, HSL, Complex or RGBU64Value depending on the type of image.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
HistogramReport* frcHistogram ( const Image *  image,
int  numClasses,
float  min,
float  max 
)

Measures the pixel intensities in a rectangle of an image.

Outputs intensity based statistics about an image such as Max, Min, Mean and Std Dev of pixel value. Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL.

Parameter Discussion : Relevant parameters of the HistogramReport include: min, max, mean and stdDev min/max —Setting both min and max to 0 causes the function to set min to 0 and the max to 255 for 8-bit images and to the actual minimum value and maximum value of the image for all other image types. max—Setting both min and max to 0 causes the function to set max to 255 for 8-bit images and to the actual maximum value of the image for all other image types.

Parameters
imageImage whose histogram the function calculates.
numClassesThe number of classes into which the function separates the pixels. Determines the number of elements in the histogram array returned
minThe minimum pixel value to consider for the histogram. The function does not count pixels with values less than min.
maxThe maximum pixel value to consider for the histogram. The function does not count pixels with values greater than max.
rectRegion of interest in the image. If not included, the entire image is used.
Returns
On success, this function returns a report describing the pixel value classification. When you are finished with the report, dispose of it by calling frcDispose(). On failure, this function returns nullptr. To get extended error information, call GetLastError().
int frcHueThreshold ( Image *  dest,
const Image *  source,
const Range *  hueRange 
)

A simpler version of ColorThreshold that thresholds hue range in the HSL mode.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL.

Parameters
destThe destination image.
sourceThe image to threshold
hueRangeThe selection range for the hue (color).
minSaturationThe minimum saturation value (1-255). If not used, DEFAULT_SATURATION_THRESHOLD is the default.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcMorphology ( Image *  dest,
Image *  source,
MorphologyMethod  method 
)

Performs morphological transformations on binary images.

Supports IMAQ_IMAGE_U8.

Parameters
destThe destination image. The border size of the destination image is not important.
sourceThe image on which the function performs the morphological operations. The calculation modifies the border of the source image. The border must be at least half as large as the larger dimension of the structuring element. The connected source image for a morphological transformation must have been created with a border capable of supporting the size of the structuring element. A 3 by 3 structuring element requires a minimal border of 1, a 5 by 5 structuring element requires a minimal border of 2, and so on.
methodThe morphological transform to apply.
structuringElementThe structuring element used in the operation. Omit this parameter if you do not want a custom structuring element.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcParticleAnalysis ( Image *  image,
int  particleNumber,
ParticleAnalysisReport par 
)

Conduct measurements for a single particle in an images.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL.

Parameters
imageimage with the particle to analyze. This function modifies the source image. If you need the original image, create a copy of the image using frcCopy() before using this function.
particleNumberThe number of the particle to get information on
paron return, a particle analysis report containing information about the particle. This structure must be created by the caller.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcParticleFilter ( Image *  dest,
Image *  source,
const ParticleFilterCriteria2 *  criteria,
int  criteriaCount,
const ParticleFilterOptions *  options,
int *  numParticles 
)

Filters particles out of an image based on their measurements.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL.

Parameters
destThe destination image. If dest is used, it must be the same size as the Source image. It will contain only the filtered particles.
sourceThe image containing the particles to filter.
criteriaAn array of criteria to apply to the particles in the source image. This array cannot be nullptr. See the NIVisionCVI.chm help file for definitions of criteria.
criteriaCountThe number of elements in the criteria array.
optionsBinary filter options, including rejectMatches, rejectBorder, and connectivity8.
rectArea of image to filter. If omitted, the default is entire image.
numParticlesOn return, the number of particles left in the image
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcReadImage ( Image *  image,
const char *  fileName 
)

Creates image object from the information in a file.

The file can be in one of the following formats: PNG, JPEG, JPEG2000, TIFF, AIPD, or BMP. Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_COMPLEX, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL, IMAQ_IMAGE_RGB_U64.

Parameters
imageImage read in
fileNameFile to read. Cannot be nullptr
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcRejectBorder ( Image *  dest,
Image *  source 
)

Eliminates particles that touch the border of the image.

Supports IMAQ_IMAGE_U8.

Parameters
destThe destination image.
sourceThe source image. If the image has a border, the function sets all border pixel values to 0.
connectivity8specifies the type of connectivity used by the algorithm for particle detection. The connectivity mode directly determines whether an adjacent pixel belongs to the same particle or a different particle. Set to TRUE to use connectivity-8 to determine whether particles are touching Set to FALSE to use connectivity-4 to determine whether particles are touching. The default setting for the simplified call is TRUE
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcScale ( Image *  dest,
const Image *  source,
int  xScale,
int  yScale,
ScalingMode  scaleMode 
)

Scales the entire image larger or smaller.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL.

Parameters
destModified image
sourceImage to scale
xScalethe horizontal reduction ratio
yScalethe vertical reduction ratio
scaleModeIMAQ_SCALE_LARGER or IMAQ_SCALE_SMALLER
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcSimpleThreshold ( Image *  dest,
const Image *  source,
float  rangeMin,
float  rangeMax 
)

Converts a grayscale image to a binary image for Particle Analysis based on a fixed threshold.

The function sets pixels values outside of the given range to 0. The function sets pixel values within the range to a given value or leaves the values unchanged. Use the simplified call to leave pixel values unchanged. Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_I16.

Parameters
destThe destination image.
sourceThe image to threshold
rangeMinThe lower boundary of the range of pixel values to keep
rangeMaxThe upper boundary of the range of pixel values to keep.
Returns
int - error code: 0 = error. To get extended error information, call GetLastError().
int frcSimpleThreshold ( Image *  dest,
const Image *  source,
float  rangeMin,
float  rangeMax,
float  newValue 
)

Converts a grayscale image to a binary image for Particle Analysis based on a fixed threshold.

The function sets pixels values outside of the given range to 0. The function sets pixel values within the range to the given value. Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_I16.

Parameters
destThe destination image.
sourceThe image to threshold
rangeMinThe lower boundary of the range of pixel values to keep
rangeMaxThe upper boundary of the range of pixel values to keep.
newValueThe replacement value for pixels within the range. Use the simplified call to leave the pixel values unchanged
Returns
int - error code: 0 = error. To get extended error information, call GetLastError().
int frcSmartThreshold ( Image *  dest,
const Image *  source,
unsigned int  windowWidth,
unsigned int  windowHeight,
LocalThresholdMethod  method,
double  deviationWeight,
ObjectType  type 
)

Automatically thresholds a grayscale image into a binary image for Particle Analysis based on a smart threshold.

Supports IMAQ_IMAGE_RGB, IMAQ_IMAGE_I16

Parameters
destThe destination image.
sourceThe image to threshold
windowWidthThe width of the rectangular window around the pixel on which the function performs the local threshold. This number must be at least 3 and cannot be larger than the width of source
windowHeightThe height of the rectangular window around the pixel on which the function performs the local threshold. This number must be at least 3 and cannot be larger than the height of source
methodSpecifies the local thresholding method the function uses. Value can be IMAQ_NIBLACK (which computes thresholds for each pixel based on its local statistics using the Niblack local thresholding algorithm.), or IMAQ_BACKGROUND_CORRECTION (which does background correction first to eliminate non-uniform lighting effects, then performs thresholding using the Otsu thresholding algorithm)
deviationWeightSpecifies the k constant used in the Niblack local thresholding algorithm, which determines the weight applied to the variance calculation. Valid k constants range from 0 to 1. Setting this value to 0 will increase the performance of the function because the function will not calculate the variance for any of the pixels. The function ignores this value if method is not set to IMAQ_NIBLACK
typeSpecifies the type of objects for which you want to look. Values can be IMAQ_BRIGHT_OBJECTS or IMAQ_DARK_OBJECTS.
replaceValueSpecifies the replacement value the function uses for the pixels of the kept objects in the destination image.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().
int frcWriteImage ( const Image *  image,
const char *  fileName 
)

Write image to a file.

Supports IMAQ_IMAGE_U8, IMAQ_IMAGE_I16, IMAQ_IMAGE_SGL, IMAQ_IMAGE_COMPLEX, IMAQ_IMAGE_RGB, IMAQ_IMAGE_HSL, IMAQ_IMAGE_RGB_U64.

The file type is determined by the extension, as follows:

    Extension                   File Type
    aipd or .apd                AIPD
    .bmp                        BMP
    .jpg or .jpeg               JPEG
    .jp2                        JPEG2000
    .png                        PNG
    .tif or .tiff               TIFF

The following are the supported image types for each file type:

    File Types                  Image Types
    AIPD                        all image types
    BMP, JPEG                   8-bit, RGB
    PNG, TIFF, JPEG2000         8-bit, 16-bit, RGB, RGBU64
Parameters
imageImage to write
fileNameFile to read. Cannot be nullptr. The extension determines the file format that is written.
Returns
On success: 1. On failure: 0. To get extended error information, call GetLastError().