Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
icl::cv::clsurf::Surf Class Reference

OpenCL-based Surf Feature detector implmentation (by AMD) More...

#include <CLSurfLib.h>

List of all members.

Public Member Functions

ICLCV_API Surf (int initialPoints, int i_height, int i_width, int octaves, int intervals, int sample_step, float threshold)
 initializer (OpenCL initialization is performed internally)
ICLCV_API ~Surf ()
ICLCV_API const IpVecdetect (const core::ImgBase *image)
 our own ICL-based detection method

Private Member Functions

void createKernels ()
void computeIntegralImage (const icl::core::Img32f &source)
 Compute the integral image.
void createDescriptors (int i_width, int i_height)
 Create the SURF descriptors.
void getOrientations (int i_width, int i_height)
 Calculate Orientation for each Ipoint.
void reallocateIptBuffers ()
 Rellocate OpenCL buffers if the number of ipoints is too high.
void reset ()
 Resets the object state so that SURF can be run on a new frame.
const IpVecretrieveDescriptors ()
 Copy the descriptors from the GPU to the host.
void run (const icl::core::Img32f &image, bool upright)
 Run the main SURF loop.

Private Attributes

Data * m_data
 hidden implementation
CLProgram program
CLKernel createDescrtptorsKernel
CLKernel getOrientationStep1Kernel
CLKernel getOrientationStep2Kernel
CLKernel hessian_detKernel
CLKernel scanKernel
CLKernel scan4Kernel
CLKernel scanImageKernel
CLKernel transposeKernel
CLKernel transposeImageKernel
CLKernel nearestNeighborKernel
CLKernel non_max_supressionKernel
CLKernel normalizeDescriptorsKernel

Detailed Description

OpenCL-based Surf Feature detector implmentation (by AMD)

Copyright (c) 2011, Advanced Micro Devices, Inc. (see license text)


Constructor & Destructor Documentation

ICLCV_API icl::cv::clsurf::Surf::Surf ( int  initialPoints,
int  i_height,
int  i_width,
int  octaves,
int  intervals,
int  sample_step,
float  threshold 
)

initializer (OpenCL initialization is performed internally)


Member Function Documentation

Compute the integral image.

void icl::cv::clsurf::Surf::createDescriptors ( int  i_width,
int  i_height 
) [private]

Create the SURF descriptors.

our own ICL-based detection method

void icl::cv::clsurf::Surf::getOrientations ( int  i_width,
int  i_height 
) [private]

Calculate Orientation for each Ipoint.

Rellocate OpenCL buffers if the number of ipoints is too high.

void icl::cv::clsurf::Surf::reset ( ) [private]

Resets the object state so that SURF can be run on a new frame.

Copy the descriptors from the GPU to the host.

void icl::cv::clsurf::Surf::run ( const icl::core::Img32f image,
bool  upright 
) [private]

Run the main SURF loop.


Member Data Documentation

hidden implementation

hidden data pointer


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines