Image Processing
ocl::cornerHarris
Returns void
-
C++: void cornerHarris(const oclMat& src, oclMat& dst, int blockSize, int ksize, double k, int bordertype=cv::BORDER_DEFAULT)
Parameters: |
- src – Source image. Only CV_8UC1 and CV_32FC1 images are supported now.
- dst – Destination image containing cornerness values. It has the same size as src and CV_32FC1 type.
- blockSize – Neighborhood size
- ksize – Aperture parameter for the Sobel operator
- k – Harris detector free parameter
- bordertype – Pixel extrapolation method. Only BORDER_REFLECT101, BORDER_REFLECT, BORDER_CONSTANT and BORDER_REPLICATE are supported now.
|
Calculate Harris corner.
ocl::cornerMinEigenVal
Returns void
-
C++: void cornerMinEigenVal(const oclMat& src, oclMat& dst, int blockSize, int ksize, int bordertype=cv::BORDER_DEFAULT)
Parameters: |
- src – Source image. Only CV_8UC1 and CV_32FC1 images are supported now.
- dst – Destination image containing cornerness values. It has the same size as src and CV_32FC1 type.
- blockSize – Neighborhood size
- ksize – Aperture parameter for the Sobel operator
- bordertype – Pixel extrapolation method. Only BORDER_REFLECT101, BORDER_REFLECT, BORDER_CONSTANT and BORDER_REPLICATE are supported now.
|
Calculate MinEigenVal.
ocl::calcHist
Returns void
-
C++: void calcHist(const oclMat& mat_src, oclMat& mat_hist)
Parameters: |
- src – Source arrays. They all should have the same depth, CV 8U, and the same size. Each of them can have an arbitrary number of channels.
- dst – The output histogram, a dense or sparse dims-dimensional
|
Calculates histogram of one or more arrays. Supports only 8UC1 data type.
ocl::remap
Returns void
-
C++: void remap(const oclMat& src, oclMat& dst, oclMat& map1, oclMat& map2, int interpolation, int bordertype, const Scalar& value=Scalar())
Parameters: |
- src – Source image. Only CV_8UC1 and CV_32FC1 images are supported now.
- dst – Destination image containing cornerness values. It has the same size as src and CV_32FC1 type.
- map1 – The first map of either (x,y) points or just x values having the type CV_16SC2 , CV_32FC1 , or CV_32FC2 . See covertMaps() for details on converting a floating point representation to fixed-point for speed.
- map2 – The second map of y values having the type CV_32FC1 , or none (empty map if map1 is (x,y) points), respectively.
- interpolation – The interpolation method
- bordertype – Pixel extrapolation method. Only BORDER_CONSTANT are supported now.
- value – The border value if borderType==BORDER CONSTANT
|
The function remap transforms the source image using the specified map: dst (x ,y) = src (map1(x , y) , map2(x , y)) where values of pixels with non-integer coordinates are computed using one of available interpolation methods. map1 and map2 can be encoded as separate floating-point maps in map1 and map2 respectively, or interleaved floating-point maps of (x,y) in map1. Supports CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1 , CV_32FC3 and CV_32FC4 data types.
ocl::resize
Returns void
-
C++: void resize(const oclMat& src, oclMat& dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)
Parameters: |
- src – Source image.
- dst – Destination image.
- dsize – he destination image size. If it is zero, then it is computed as: dsize = Size(round(fx*src.cols), round(fy*src.rows)). Either dsize or both fx or fy must be non-zero.
- fx – The scale factor along the horizontal axis. When 0, it is computed as (double)dsize.width/src.cols
- fy – The scale factor along the vertical axis. When 0, it is computed as (double)dsize.height/src.rows
- interpolation – The interpolation method: INTER NEAREST or INTER LINEAR
|
Resizes an image. Supports CV_8UC1, CV_8UC3, CV_8UC4, CV_32FC1 , CV_32FC3 and CV_32FC4 data types.
ocl::warpAffine
Returns void
-
C++: void warpAffine(const oclMat& src, oclMat& dst, const Mat& M, Size dsize, int flags=INTER_LINEAR)
Parameters: |
- src – Source image.
- dst – Destination image.
- M – 2times 3 transformation matrix
- dsize – Size of the destination image
- flags – A combination of interpolation methods, see cv::resize, and the optional flag WARP INVERSE MAP that means that M is the inverse transformation (dst to $src)
|
The function warpAffine transforms the source image using the specified matrix. Supports INTER_NEAREST, INTER_LINEAR, INTER_CUBIC types.
ocl::warpPerspective
Returns void
-
C++: void warpPerspective(const oclMat& src, oclMat& dst, const Mat& M, Size dsize, int flags=INTER_LINEAR)
Parameters: |
- src – Source image.
- dst – Destination image.
- M – 2times 3 transformation matrix
- dsize – Size of the destination image
- flags – A combination of interpolation methods, see cv::resize, and the optional flag WARP INVERSE MAP that means that M is the inverse transformation (dst to $src)
|
Applies a perspective transformation to an image. Supports INTER_NEAREST, INTER_LINEAR, INTER_CUBIC types.
ocl::cvtColor
Returns void
-
C++: void cvtColor(const oclMat& src, oclMat& dst, int code, int dcn=0)
Parameters: |
- src – Source image.
- dst – Destination image.
|
:param code:The color space conversion code
Parameters: |
- dcn – The number of channels in the destination image; if the parameter is 0, the number of the channels will be derived automatically from src and the code
|
Converts image from one color space to another.For now, only RGB2GRAY is supportted. Supports.CV_8UC1,CV_8UC4,CV_32SC1,CV_32SC4,CV_32FC1,CV_32FC4
ocl::threshold
Returns Threshold value
-
C++: double threshold(const oclMat& src, oclMat& dst, double thresh, double maxVal, int type=THRESH_TRUNC)
Parameters: |
- src – The source array
- dst – Destination array; will have the same size and the same type as src
- thresh – Threshold value
- maxVal – Maximum value to use with THRESH BINARY and THRESH BINARY INV thresholding types
- type – Thresholding type
|
The function applies fixed-level thresholding to a single-channel array. The function is typically used to get a bi-level (binary) image out of a grayscale image or for removing a noise, i.e. filtering out pixels with too small or too large values. There are several types of thresholding that the function supports that are determined by thresholdType. Supports only CV_32FC1 and CV_8UC1 data type.
ocl::buildWarpPlaneMaps
Builds plane warping maps.
-
C++: void ocl::buildWarpPlaneMaps(Size src_size, Rect dst_roi, const Mat& R, double f, double s, double dist, oclMat& map_x, oclMat& map_y)
ocl::buildWarpCylindricalMaps
Builds cylindrical warping maps.
-
C++: void ocl::buildWarpCylindricalMaps(Size src_size, Rect dst_roi, const Mat& R, double f, double s, oclMat& map_x, oclMat& map_y)
ocl::buildWarpSphericalMaps
Builds spherical warping maps.
-
C++: void ocl::buildWarpSphericalMaps(Size src_size, Rect dst_roi, const Mat& R, double f, double s, oclMat& map_x, oclMat& map_y)
ocl::buildWarpPerspectiveMaps
Builds transformation maps for perspective transformation.
-
C++: void buildWarpAffineMaps(const Mat& M, bool inverse, Size dsize, oclMat& xmap, oclMat& ymap)
Parameters: |
- M – 3x3 transformation matrix.
- inverse – Flag specifying that M is an inverse transformation ( dst=>src ).
- dsize – Size of the destination image.
- xmap – X values with CV_32FC1 type.
- ymap – Y values with CV_32FC1 type.
|
See also
ocl::warpPerspective() , ocl::remap()
ocl::buildWarpAffineMaps
Builds transformation maps for affine transformation.
-
C++: void buildWarpAffineMaps(const Mat& M, bool inverse, Size dsize, oclMat& xmap, oclMat& ymap)
Parameters: |
- M – 2x3 transformation matrix.
- inverse – Flag specifying that M is an inverse transformation ( dst=>src ).
- dsize – Size of the destination image.
- xmap – X values with CV_32FC1 type.
- ymap – Y values with CV_32FC1 type.
|
See also
ocl::warpAffine() , ocl::remap()
ocl::PyrLKOpticalFlow
-
class ocl::PyrLKOpticalFlow
Class used for calculating an optical flow.
class PyrLKOpticalFlow
{
public:
PyrLKOpticalFlow();
void sparse(const oclMat& prevImg, const oclMat& nextImg, const oclMat& prevPts, oclMat& nextPts,
oclMat& status, oclMat* err = 0);
void dense(const oclMat& prevImg, const oclMat& nextImg, oclMat& u, oclMat& v, oclMat* err = 0);
Size winSize;
int maxLevel;
int iters;
double derivLambda;
bool useInitialFlow;
float minEigThreshold;
bool getMinEigenVals;
void releaseMemory();
};
The class can calculate an optical flow for a sparse feature set or dense optical flow using the iterative Lucas-Kanade method with pyramids.
ocl::PyrLKOpticalFlow::sparse
Calculate an optical flow for a sparse feature set.
-
C++: void ocl::PyrLKOpticalFlow::sparse(const oclMat& prevImg, const oclMat& nextImg, const oclMat& prevPts, oclMat& nextPts, oclMat& status, oclMat* err=0)
Parameters: |
- prevImg – First 8-bit input image (supports both grayscale and color images).
- nextImg – Second input image of the same size and the same type as prevImg .
- prevPts – Vector of 2D points for which the flow needs to be found. It must be one row matrix with CV_32FC2 type.
- nextPts – Output vector of 2D points (with single-precision floating-point coordinates) containing the calculated new positions of input features in the second image. When useInitialFlow is true, the vector must have the same size as in the input.
- status – Output status vector (CV_8UC1 type). Each element of the vector is set to 1 if the flow for the corresponding features has been found. Otherwise, it is set to 0.
- err – Output vector (CV_32FC1 type) that contains the difference between patches around the original and moved points or min eigen value if getMinEigenVals is checked. It can be NULL, if not needed.
|
ocl::PyrLKOpticalFlow::dense
Calculate dense optical flow.
-
C++: void ocl::PyrLKOpticalFlow::dense(const oclMat& prevImg, const oclMat& nextImg, oclMat& u, oclMat& v, oclMat* err=0)
Parameters: |
- prevImg – First 8-bit grayscale input image.
- nextImg – Second input image of the same size and the same type as prevImg .
- u – Horizontal component of the optical flow of the same size as input images, 32-bit floating-point, single-channel
- v – Vertical component of the optical flow of the same size as input images, 32-bit floating-point, single-channel
- err – Output vector (CV_32FC1 type) that contains the difference between patches around the original and moved points or min eigen value if getMinEigenVals is checked. It can be NULL, if not needed.
|
ocl::PyrLKOpticalFlow::releaseMemory
Releases inner buffers memory.
-
C++: void ocl::PyrLKOpticalFlow::releaseMemory()
ocl::interpolateFrames
Interpolate frames (images) using provided optical flow (displacement field).
-
C++: void ocl::interpolateFrames(const oclMat& frame0, const oclMat& frame1, const oclMat& fu, const oclMat& fv, const oclMat& bu, const oclMat& bv, float pos, oclMat& newFrame, oclMat& buf)
Parameters: |
- frame0 – First frame (32-bit floating point images, single channel).
- frame1 – Second frame. Must have the same type and size as frame0 .
- fu – Forward horizontal displacement.
- fv – Forward vertical displacement.
- bu – Backward horizontal displacement.
- bv – Backward vertical displacement.
- pos – New frame position.
- newFrame – Output image.
- buf – Temporary buffer, will have width x 6*height size, CV_32FC1 type and contain 6 oclMat: occlusion masks for first frame, occlusion masks for second, interpolated forward horizontal flow, interpolated forward vertical flow, interpolated backward horizontal flow, interpolated backward vertical flow.
|