2.1.22.1.1 get_sampling_window_offset 
 
Description
Get offset array for sampling window, via center point
 
Syntax
int get_sampling_window_offset( int * pOffset, int * pXOffSet, int * pYOffSet, int nCols, int nWinSizeX, int nWinSizeY, int nSampling = FILTERSHAPE_SQUARE ) 
Parameters
-  pOffset
 
- [modify] array offset, the input size is nWinsizeX*nWinSizeY, output size is the size of real offset data.
 
- NOTE: the col size is the col size of matrix need be filtered instead of window.
 
-  pXOffSet
 
- [output] array offset of x axle
 
-  pYOffSet
 
- [output] array offset of y axle
 
-  nCols
 
- [input] matrix col size need to be filtered
 
-  nWinSizeX
 
- [input] window x axle size, must be odd(1, 3, 5,...)
 
-  nWinSizeY
 
- [input] window y axle size, must be odd(1, 3, 5,...)
 
-  nSampling
 
- [input] can be FILTERSHAPE_SQUARE, FILTERSHAPE_CIRCULAR, FILTERSHAPE_STRAIGHT_CROSS('+'), FILTERSHAPE_DIAGONAL_CROSS('X')
 
- when shape is FILTERSHAPE_CIRCULAR or FILTERSHAPE_DIAGONAL_CROSS nWinSizeX must equal nWinSizeY
  
Return
size of offset array, return -1 when there is a error.
 
Examples
EX1
 
void get_sampling_window_offset_ex1()
{
    int nWinSizeX = 3;
    int nWinSizeY = 3;
    int nSampling = FILTERSHAPE_STRAIGHT_CROSS;
    int nCol = 10; 
    //0 1 0
    //1 1 1
    //0 1 0
    vector<int> vnOffset;
    vector<int> vnXOffSet;
    vector<int> vnYOffSet;
    vnOffset.SetSize(nCol);
    vnXOffSet.SetSize(nWinSizeX);
    vnYOffSet.SetSize(nWinSizeY);
    int nOffset = get_sampling_window_offset(vnOffset, vnXOffSet, vnYOffSet, nCol, nWinSizeX, nWinSizeY, nSampling);
    //return 5(size of real data in pOffset)
    //int vnOffset 	= 	{ -10  0 10 -1  1 }  // ncol = 10
    //int vnXOffSet = 	{  0  -1  0 -1  0 }
    //int vnYOffSet =	{ -1   0  0  0  1 }
}
Remark
See Also
Header to Include
origin.h
 
Reference
             |