OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::rgbd::RgbdNormals Class Reference

#include <opencv2/rgbd/depth.hpp>

Collaboration diagram for cv::rgbd::RgbdNormals:

Public Types

enum  RGBD_NORMALS_METHOD {
  RGBD_NORMALS_METHOD_FALS = 0 ,
  RGBD_NORMALS_METHOD_LINEMOD = 1 ,
  RGBD_NORMALS_METHOD_SRI = 2
}
 

Public Member Functions

 RgbdNormals ()
 
 RgbdNormals (int rows, int cols, int depth, InputArray K, int window_size=5, int method=RgbdNormals::RGBD_NORMALS_METHOD_FALS)
 
 ~RgbdNormals ()
 
int getCols () const
 
int getDepth () const
 
cv::Mat getK () const
 
int getMethod () const
 
int getRows () const
 
int getWindowSize () const
 
void initialize () const
 
void operator() (InputArray points, OutputArray normals) const
 
void setCols (int val)
 
void setDepth (int val)
 
void setK (const cv::Mat &val)
 
void setMethod (int val)
 
void setRows (int val)
 
void setWindowSize (int val)
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 

Static Public Member Functions

static Ptr< RgbdNormalscreate (int rows, int cols, int depth, InputArray K, int window_size=5, int method=RgbdNormals::RGBD_NORMALS_METHOD_FALS)
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

Protected Member Functions

void initialize_normals_impl (int rows, int cols, int depth, const Mat &K, int window_size, int method) const
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

Protected Attributes

int cols_
 
int depth_
 
Mat K_
 
int method_
 
void * rgbd_normals_impl_
 
int rows_
 
int window_size_
 

Detailed Description

Object that can compute the normals in an image. It is an object as it can cache data for speed efficiency The implemented methods are either:

  • FALS (the fastest) and SRI from Fast and Accurate Computation of Surface Normals from Range Images by H. Badino, D. Huber, Y. Park and T. Kanade
  • the normals with bilateral filtering on a depth image from Gradient Response Maps for Real-Time Detection of Texture-Less Objects by S. Hinterstoisser, C. Cagniart, S. Ilic, P. Sturm, N. Navab, P. Fua, and V. Lepetit

Member Enumeration Documentation

◆ RGBD_NORMALS_METHOD

Enumerator
RGBD_NORMALS_METHOD_FALS 
RGBD_NORMALS_METHOD_LINEMOD 
RGBD_NORMALS_METHOD_SRI 

Constructor & Destructor Documentation

◆ RgbdNormals() [1/2]

cv::rgbd::RgbdNormals::RgbdNormals ( )
inline

◆ RgbdNormals() [2/2]

cv::rgbd::RgbdNormals::RgbdNormals ( int rows,
int cols,
int depth,
InputArray K,
int window_size = 5,
int method = RgbdNormals::RGBD_NORMALS_METHOD_FALS )

Constructor

Parameters
rowsthe number of rows of the depth image normals will be computed on
colsthe number of cols of the depth image normals will be computed on
depththe depth of the normals (only CV_32F or CV_64F)
Kthe calibration matrix to use
window_sizethe window size to compute the normals: can only be 1,3,5 or 7
methodone of the methods to use: RGBD_NORMALS_METHOD_SRI, RGBD_NORMALS_METHOD_FALS

◆ ~RgbdNormals()

cv::rgbd::RgbdNormals::~RgbdNormals ( )

Member Function Documentation

◆ create()

static Ptr< RgbdNormals > cv::rgbd::RgbdNormals::create ( int rows,
int cols,
int depth,
InputArray K,
int window_size = 5,
int method = RgbdNormals::RGBD_NORMALS_METHOD_FALS )
static
Python:
cv.rgbd.RgbdNormals.create(rows, cols, depth, K[, window_size[, method]]) -> retval
cv.rgbd.RgbdNormals_create(rows, cols, depth, K[, window_size[, method]]) -> retval

◆ getCols()

int cv::rgbd::RgbdNormals::getCols ( ) const
inline
Python:
cv.rgbd.RgbdNormals.getCols() -> retval

◆ getDepth()

int cv::rgbd::RgbdNormals::getDepth ( ) const
inline
Python:
cv.rgbd.RgbdNormals.getDepth() -> retval

◆ getK()

cv::Mat cv::rgbd::RgbdNormals::getK ( ) const
inline
Python:
cv.rgbd.RgbdNormals.getK() -> retval

◆ getMethod()

int cv::rgbd::RgbdNormals::getMethod ( ) const
inline
Python:
cv.rgbd.RgbdNormals.getMethod() -> retval

◆ getRows()

int cv::rgbd::RgbdNormals::getRows ( ) const
inline
Python:
cv.rgbd.RgbdNormals.getRows() -> retval

◆ getWindowSize()

int cv::rgbd::RgbdNormals::getWindowSize ( ) const
inline
Python:
cv.rgbd.RgbdNormals.getWindowSize() -> retval

◆ initialize()

void cv::rgbd::RgbdNormals::initialize ( ) const
Python:
cv.rgbd.RgbdNormals.initialize() -> None

Initializes some data that is cached for later computation If that function is not called, it will be called the first time normals are computed

◆ initialize_normals_impl()

void cv::rgbd::RgbdNormals::initialize_normals_impl ( int rows,
int cols,
int depth,
const Mat & K,
int window_size,
int method ) const
protected

◆ operator()()

void cv::rgbd::RgbdNormals::operator() ( InputArray points,
OutputArray normals ) const

Given a set of 3d points in a depth image, compute the normals at each point.

Parameters
pointsa rows x cols x 3 matrix of CV_32F/CV64F or a rows x cols x 1 CV_U16S
normalsa rows x cols x 3 matrix

◆ setCols()

void cv::rgbd::RgbdNormals::setCols ( int val)
inline
Python:
cv.rgbd.RgbdNormals.setCols(val) -> None

◆ setDepth()

void cv::rgbd::RgbdNormals::setDepth ( int val)
inline
Python:
cv.rgbd.RgbdNormals.setDepth(val) -> None

◆ setK()

void cv::rgbd::RgbdNormals::setK ( const cv::Mat & val)
inline
Python:
cv.rgbd.RgbdNormals.setK(val) -> None

◆ setMethod()

void cv::rgbd::RgbdNormals::setMethod ( int val)
inline
Python:
cv.rgbd.RgbdNormals.setMethod(val) -> None

◆ setRows()

void cv::rgbd::RgbdNormals::setRows ( int val)
inline
Python:
cv.rgbd.RgbdNormals.setRows(val) -> None

◆ setWindowSize()

void cv::rgbd::RgbdNormals::setWindowSize ( int val)
inline
Python:
cv.rgbd.RgbdNormals.setWindowSize(val) -> None

Member Data Documentation

◆ cols_

int cv::rgbd::RgbdNormals::cols_
protected

◆ depth_

int cv::rgbd::RgbdNormals::depth_
protected

◆ K_

Mat cv::rgbd::RgbdNormals::K_
protected

◆ method_

int cv::rgbd::RgbdNormals::method_
protected

◆ rgbd_normals_impl_

void* cv::rgbd::RgbdNormals::rgbd_normals_impl_
mutableprotected

◆ rows_

int cv::rgbd::RgbdNormals::rows_
protected

◆ window_size_

int cv::rgbd::RgbdNormals::window_size_
protected

The documentation for this class was generated from the following file: