This page provides a list of all the functionality available in the latest release of CUVI Library.
Modules
CUVI comes in following image processing modules.
- Arithmetic & Logical
- Color Operations
- Computer Vision
- Data Exchange
- Geometry Transforms
- Image Filtering
- Image Statistics
- Image Transforms
- Image Codecs
Function List
Arithmetic & Logical
- abs - Computes absolute value of each image pixel
- absDiff - Computes absolute difference between 2 images.
- add - Adds two images
- AND - Bitwise AND operation between two images.
- cbrt - Computes cube root of each image pixel
- ceil - Applies ceil function to each image pixel
- divide - Divides pixel values of two images
- exp - Computes exponential of each image pixel
- floor - Applies floor function to each image pixel
- invert - Computes matrix inverse using LU factorization
- matMul - Performs matrix multiplication
- matMulTrans - Performs matrix multiplication with its transpose
- multiply - Multiplies pixel values of two images
- NOT - Inverts the bits of each pixel.
- OR - Bitwise OR operation between two images.
- pow - Raise each pixel to a specified power.
- round - Rounds each pixel to nearest integer value.
- SHL - Left shift each pixel of an image.
- SHR - Right shift each pixel of an image
- sqrt - Takes square root of each pixel of an image.
- subtract - Subtracts pixel values of two images.
- XOR - Logical bitwise XOR operation between two images.
Color Operations
- adjust - Equivalent to MATLAB's imadjust
- autoColor - Fixes false colors at pixel level using a propriety approach
- borderMask - Masks image borders with custom intensity
- channelMix - Applies a color twist matrix to an image
- channelMerge - Merges R, G and B Channel to form a color image
- channelSplit - Splits a three channel image into R, G and B channels
- colorPick - Performs color segmentation of image by selecting a single color
- dehaze - Makes sense of images taken in a blizzard
- demosaic - Restores an RGB image from a CFA Bayer image
- demosaicDFPD - Restores an RGB image from a CFA Bayer image using DFPD algorithm
- gammaCorrect - Performs gamma correction of an image
- gray2rgb - Copy a grayscale image to each channel of an RGB image.
- histEq - Performs histogram equalization
- hsv2rgb - Converts image from HSV color space to RGB.
- imageBinary - Converts input image into a binary image based on threshold
- Lab2rgb - Converts image from CIE Lab color space to RGB.
- logTransform - Applies log transformation for contrast enhancement of an image
- lowlight - enhances the low intensity colors in a dark photo
- LUT - Remaps image values according to look up table
- rgb2gray - Converts an RGB image to gray scale
- rgb2hsv - Converts an RGB image to HSV color space
- rgb2Lab - Converts an RGB image to CIE Lab color space
- rgb2ycbcr - Converts an RGB image to YCbCr color space
- rgb2yuv - Converts RGB image to YUV color space
- ycbcr2rgb - Converts YCbCr image to an RGB image
- yuv2rgb - Converts YUV image to an RGB image.
Computer Vision
- eigenValsVecs - Calculates eigen values and eigen vectors at each pixel in an image
- goodFeaturesToTrack - selects N best points on a image using KLT or Harris
- minEigenVal - Calculates the minimum eigen value at each pixel in an image
- opticalFlowHS - Calculates flow of each image pixel in two frames using Horn–Schunck method
- opticalFlowPyrLKDense - Calculates flow of each image pixel in two frames using pyramidal Lucas–Kanade method
- trackFeatures - Tracks input features from frame 1 onto frame 2 using KLT method
- focusStack - Stacks multiples photos with various focus into a single all focused image
|
Data Exchange
- bitConversion - Converts image pixel values from one data type to another.
- convertScale - Converts image data type with optional scaling.
- generateRandomImage - Creates a new random image.
- getChannel - Extracts a channel of an image.
- padImage - Pads any side of the image with the value specified.
- rectangle - Draws a rectangle on the specified region of an image.
- threshold - Clamps image pixel values between specified thresholds.
Geometry Transforms
- crop - Crops the desired portion of an image
- flipImage - Mirrors an image about a horizontal or vertical axis, or both
- resize - Resizes input image using specified interpolation
- rotate - Rotates an image about specified anchor
- RotateNoCrop - Rotates an image about specified anchor
- taper - Smartly extends image border
- transpose - Takes Transpose of the image
- warpAffine - Applies an affine transformation to an image.
- warpAffineBack - Applies an inverse affine transformation to an image.
- warpPerspective - Applies an affine transformation to an image.
- warpPerspectiveBack - Applies an inverse affine transformation to an image.
Image Filtering
Image Statistics
- calcHist - Computes the histogram of an 8 bit image.
- countInRange - Counts the number of pixels within the given intensity range
- max - Computes the maximum of image pixel values
- mean - Computes the mean of image pixel values
- meanStdDev - Computes the mean and standard deviation of image pixel values
- min - Computes the minimum of image pixel values
- minMax - Computes the minimum and maximum of image pixel values
- sum - Computes the sum of image pixel values
Image Transforms
- fft2 - Computes the 2D Fast Fourier Transform of an image.
- fftGetProperty - Gets magnitude, phase, real and imaginary part of an FFT image with optional scaling.
- fftShift - Moves low frequency components to the center of an FFT image.
- haarFwd - Performs one-level wavelet decomposition of an image using haar basis
- haarInv - Performs one-level haar wavelet reconstruction of an image
Image Codecs
- encode - Encodes image pixel array into JPEG.
- decode - Decodes a JPEG into an image pixel array.
|
CUVI Core
CUVI Core includes the following helper functionality:
CuviImage
A C++ class to hold image data on the device. It has the following methods
- CuviImage(); - default constructor
- CuviImage(CuviSize size, Cuvi32s depth, Cuvi32s channels) - Main Constructor. throws exception in case of failure
- CuviImage(const CuviImage&) - copy constructor
- upload(const void* pSrcHost, const Cuvi32s srcPitch) - Copy image data from host to device.
- upload(const void* pSrcHost, const Cuvi32s srcPitch, const CuviStream& stream) - Asynchronously copy image data from host to device.
- upload(const void* pSrcHost, CuviRect srcROI, const Cuvi32s srcPitch, CuviPoint2D<int> dstOrigin) - Copy a chunk of image data from host to device.
- upload(const void* pSrcHost, CuviRect srcROI, const Cuvi32s srcPitch, CuviPoint2D<int> dstOrigin, const CuviStream& stream) - Asynchronously copy a chunk of image data from host to device.
- download(void* pDstHost, const Cuvi32s dstPitch) - Copy image data from device to host
- download(void* pDstHost, const Cuvi32s dstPitch, const CuviStream& stream) - Asynchronously copy image data from device to host
- download(void* pDstHost, CuviPoint2D<int> dstOrigin, const Cuvi32s dstPitch, CuviRect srcROI) - Copy a chunk of image data from device to host
- download(void* pDstHost, CuviPoint2D<int> dstOrigin, const Cuvi32s dstPitch, CuviRect srcROI, const CuviStream& stream) - Asynchronously copy a chunk of image data from device to host
- copyTo(CuviImage& dst, CuviPoint2D<int> dstOrigin, CuviRect srcROI, const CuviStream& stream = CuviStream()) - Copy image data (or an ROI of it) from one Cuvi Image to another.
- show(const std::string& title = "CUVI Image", Cuvi32s milliseconds = 0) - Render device image directly on the screen
- ~CuviImage() - Destructor. Frees Device Memory. throws exception in case of failure
Timer
CUVI provides a C++ Timer class that accurately profiles your application timing
- Start() - Starts the timer.
- Stop() - Stops the timer
- Reset() - Resets the timer
- GetElapsedTime() - Returns the elapsed time between Start and Stop calls in seconds
|
DeviceProperties
CuviDeviceProperties holds all the important properties of underlying CUDA device. Device management functions are present inside the namespace cuvi::device.
- Cuvi32s getDeviceCount() - Gives the count of devices installed in the machine
- Cuvi32s getCurentDevice() - Returns the ID of selected graphics card
- CuviStatus setCurrentDevice(const Cuvi32s ID) - Makes any device an active device
- CuviStatus getDeviceProperties(const Cuvi32s deviceID, CuviDeviceProperties& props) - Returns all the important properties of desired GPU
|
|