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
- Video Stabilization
Function List
Arithmetic & Logical
- Add - Adds two images
- Multiply - Multiplies pixel values of two image buffers
- Divide - Divides pixel values of two image buffers
- AND - Logical Bitwise AND
- NOT - Performs a bitwise NOT operation on each pixel
Color Operations
- Adjust - Equivalent to MATLAB's imadjust
- ChannelMerge - Merges R, G and B Channel to form a color image
- ChannelSplit - Splits a three channel image into R, G and B channels
- ColorTwist - Applies a color twist matrix to an image
- HistEq - Performs histogram equalization
- RGB2Gray - Converts an RGB image to gray scale using fixed transform coefficients.
- RGB2YUV - Convert RGB image to YUV color model
- YUV2RGB - Convert YUV color model to an RGB image
- Demosaic - Restores an RGB image from a gray-scale Bayer image
- BorderMask - Masks image borders with custom intensity
- ImageBinary - Converts input image into a binary image based on threshold
Computer Vision
- GoodFeaturesToTrack - selects N best points on a image using KLT or Harris
- TrackFeatures - Tracks input features from frame 1 onto frame 2 using KLT method
- 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
- MinEigenVal - Calculates the minimum eigen value at each pixel in an image
- EigenValsVecs - Calculates eigen values and eigen vectors at each pixel in an image
Data Exchange
|
Geometry Transforms
- Crop - Crops the desired portion of an image
- Resize - Resizes input image using linear-interpolation
- FlipImage - Mirrors an image about a horizontal or vertical axis, or both
- Transpose - Takes Transpose of the image
- Rotate - Rotates an image about origin (0,0) or center
- warpAffine - Rotates an image about origin (0,0) or center
- warpAffineBack - Rotates an image about origin (0,0) or center
Image Filtering
Image Statistics
- Color2Gray - Converts an RGB image to gray scale using custom transform coefficients.
- CountInRange - Counts the number of pixels within the given intensity range
- haarFwd - Performs one-level wavelet decomposition of an image using haar basis
- haarInv - Performs one-level haar wavelet reconstruction of an image
- Max - Computes the maximum of image pixel values
intensity 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
- OR - Combines corresponding pixels of two image buffers by a bitwise OR operation
- RGBA2Gray - Converts an RGBA image to gray scale using fixed transform
- Subtract - Subtracts pixel values of two image buffers
- Sum - Computes the sum of image pixel values
- XOR - Combines corresponding pixels of two image buffers by a bitwise XOR operation
|
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, Cuvi32u depth, Cuvi32u channels) - Main Constructor. throws exception in case of failure
- CuviImage(const CuviImage&) - copy constructor
- CuviImage(const CuviMat&) - copy constructor to initialize from CuviMat
- Upload(void* pSrcHost, size_t srcPitch, CuviStream* stream = NULL) - Copy image data from host to device. Async operation supported
- Download(void* pDstHost, size_t dstPitch, CuviStream* stream = NULL) - Copy image data from device to host
- Show(char* title = "CUVI Image",int 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
|
|