Difference between revisions of "CUVI Features"
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
CUVI SDK is an image processing kit written and developed on C-CUDA and C++ for over a period of ten years. The SDK includes 100+ image processing and computer vision functions that are plug-n-play for imaging applications in a plethora of verticals. Each function is hand crafted and highly optimized to run on CUDA supported GPUs. Many functions use our own proprietary approach to algorithms and processing to make the best out of hardware and input data. | |||
==Modules== | ==Modules== | ||
CUVI comes in following image processing modules. | CUVI comes in following image processing modules. | ||
Line 25: | Line 27: | ||
# [[Function:Ceil|ceil]] - Applies ceil function to each image pixel | # [[Function:Ceil|ceil]] - Applies ceil function to each image pixel | ||
# [[Function:Divide|divide]] - Divides pixel values of two images | # [[Function:Divide|divide]] - Divides pixel values of two images | ||
# [[Function:dot|dot]] | |||
# [[Function:Exp|exp]] - Computes exponential of each image pixel | # [[Function:Exp|exp]] - Computes exponential of each image pixel | ||
# [[Function:Floor|floor]] - Applies floor function to each image pixel | # [[Function:Floor|floor]] - Applies floor function to each image pixel | ||
# [[Function:InRange|inRange]] - Checks if image pixels lie between a range of values | |||
# [[Function:Invert|invert]] - Computes matrix inverse using LU factorization | # [[Function:Invert|invert]] - Computes matrix inverse using LU factorization | ||
# [[Function:MatMul|matMul]] - Performs matrix multiplication | # [[Function:MatMul|matMul]] - Performs matrix multiplication | ||
Line 45: | Line 49: | ||
# [[Function:AutoColor|autoColor]] - Fixes false colors at pixel level using a propriety approach | # [[Function:AutoColor|autoColor]] - Fixes false colors at pixel level using a propriety approach | ||
# [[Function:BorderMask|borderMask]] - Masks image borders with custom intensity | # [[Function:BorderMask|borderMask]] - Masks image borders with custom intensity | ||
# [[Function:blackGammaLUT|blackGammaLUT]] - Remaps image values according to 3 look up tables | |||
# [[Function:ChannelMix|channelMix]] - Applies a color twist matrix to an image | # [[Function:ChannelMix|channelMix]] - Applies a color twist matrix to an image | ||
# [[Function:ChannelMerge|channelMerge]] - Merges R, G and B Channel to form a color image | # [[Function:ChannelMerge|channelMerge]] - Merges R, G and B Channel to form a color image | ||
Line 52: | Line 57: | ||
# [[Function:Demosaic|demosaic]] - Restores an RGB image from a CFA Bayer image | # [[Function:Demosaic|demosaic]] - Restores an RGB image from a CFA Bayer image | ||
# [[Function:DemosaicDFPD|demosaicDFPD]] - Restores an RGB image from a CFA Bayer image using DFPD algorithm | # [[Function:DemosaicDFPD|demosaicDFPD]] - Restores an RGB image from a CFA Bayer image using DFPD algorithm | ||
# [[Function:fpn|fpn]] - fixed point noise remove via camera black image | |||
# [[Function:FPNCorrection|FPNCorrection]] - fixed point noise removal via black and white images and gain | |||
# [[Function:GammaCorrect|gammaCorrect]] - Performs gamma correction of an image | # [[Function:GammaCorrect|gammaCorrect]] - Performs gamma correction of an image | ||
# [[Function:Gray2rgb|gray2rgb]] - Copy a grayscale image to each channel of an RGB image. | # [[Function:Gray2rgb|gray2rgb]] - Copy a grayscale image to each channel of an RGB image. | ||
Line 68: | Line 75: | ||
# [[Function:Ycbcr2rgb|ycbcr2rgb]] - Converts YCbCr image to an RGB image | # [[Function:Ycbcr2rgb|ycbcr2rgb]] - Converts YCbCr image to an RGB image | ||
# [[Function:YUV2RGB|yuv2rgb]] - Converts YUV image to an RGB image. | # [[Function:YUV2RGB|yuv2rgb]] - Converts YUV image to an RGB image. | ||
# [[Function:YUV422TOV210|YUV422TOV210]] - Converts YUV422 image to an V210 image. | |||
# [[Function:YUV444TOV210|YUV444TOV210]] - Converts YUV444 image to an V210 image. | |||
# [[Function:V210TOYUV444|V210TOYUV444]] - Converts V210 image to an YUV444 image. | |||
===Computer Vision=== | ===Computer Vision=== | ||
# [[Function:EigenValsVecs|eigenValsVecs]] - Calculates eigen values and eigen vectors at each pixel in an image | |||
# [[Function:findTransformECC|findTransformECC]] - Calculates geometric transform between two images in terms of the ECC criterion | |||
# [[Function:GoodFeaturesToTrack|goodFeaturesToTrack]] - selects N best points on a image using KLT or Harris | |||
# [[Function:MinEigenVal|minEigenVal]] - Calculates the minimum eigen value at each pixel in an image | |||
# [[Function:OpticalFlowHS|opticalFlowHS]] - Calculates flow of each image pixel in two frames using Horn–Schunck method | |||
# [[Function:opticalFlowPyrLKDense|opticalFlowPyrLKDense]] - Calculates flow of each image pixel in two frames using pyramidal Lucas–Kanade method | |||
# [[Function:TrackFeatures|trackFeatures]] - Tracks input features from frame 1 onto frame 2 using KLT method | |||
# [[Function:FocusStack|focusStack]] - Stacks multiples photos with various focus into a single all focused image | |||
===Data Exchange=== | ===Data Exchange=== | ||
Line 102: | Line 112: | ||
===Image Filtering=== | ===Image Filtering=== | ||
# [[Function:ImageFilter|imageFilter]] - Performs linear 1D and 2D image filtering | |||
# [[Function:ImageGradients|imageGradients]] - Calculates X and Y gradients of image | |||
# [[Function:MinFilter|minFilter]] - Filters an image using a min filter | |||
# [[Function:MaxFilter|maxFilter]] - Filters an image using a max filter | |||
# [[Function:MedianFilter|medianFilter]] - Applies 2D median filter on an image | |||
# [[Function:UnderwaterFilter|underwaterFilter]] - Brings out original colors of underwater photography. | |||
===Image Statistics=== | ===Image Statistics=== | ||
# [[Function:CalcHist|calcHist]] - Computes the histogram of an 8 bit image. | |||
# [[Function:CountInRange|countInRange]] - Counts the number of pixels within the given intensity range | |||
# [[Function:Max|max]] - Computes the maximum of image pixel values | |||
# [[Function:Mean|mean]] - Computes the mean of image pixel values | |||
# [[Function:MeanStdDev|meanStdDev]] - Computes the mean and standard deviation of image pixel values | |||
# [[Function:Min|min]] - Computes the minimum of image pixel values | |||
# [[Function:MinMax|minMax]] - Computes the minimum and maximum of image pixel values | |||
# [[Function:Sum|sum]] - Computes the sum of image pixel values | |||
===Image Transforms=== | ===Image Transforms=== | ||
# [[Function:Fft2|fft2]] - Computes the 2D Fast Fourier Transform of an image. | |||
# [[Function:FftGetProperty|fftGetProperty]] - Gets magnitude, phase, real and imaginary part of an FFT image with optional scaling. | |||
# [[Function:FftShift|fftShift]] - Moves low frequency components to the center of an FFT image. | |||
# [[Function:haarFwd|haarFwd]] - Performs one-level wavelet decomposition of an image using haar basis | |||
# [[Function:haarInv|haarInv]] - Performs one-level haar wavelet reconstruction of an image | |||
===Image Codecs=== | ===Image Codecs=== | ||
# [[Function:Encode|encode]] - Encodes image pixel array into JPEG. | |||
# [[Function:Decode|decode]] - Decodes a JPEG into an image pixel array. | |||
<!--===Video Stabilization=== | <!--===Video Stabilization=== |
Latest revision as of 15:11, 7 November 2022
CUVI SDK is an image processing kit written and developed on C-CUDA and C++ for over a period of ten years. The SDK includes 100+ image processing and computer vision functions that are plug-n-play for imaging applications in a plethora of verticals. Each function is hand crafted and highly optimized to run on CUDA supported GPUs. Many functions use our own proprietary approach to algorithms and processing to make the best out of hardware and input data.
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
Color Operations
Computer Vision
Data Exchange
Geometry Transforms
Image Filtering
Image Statistics
Image Transforms
Image Codecs |
CUVI Core
CUVI Core includes the following helper functionality:
CuviImageA C++ class to hold image data on the device. It has the following methods
|