OpenCV  4.1.0
Open Source Computer Vision
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cv::cnn_3dobj::icoSphere Class Reference

Icosohedron based camera view data generator. The class create some sphere views of camera towards a 3D object meshed from .ply files. More...

#include <opencv2/cnn_3dobj.hpp>

Public Member Functions

 icoSphere (float radius_in, int depth_in)
 Generating a sphere by mean of a iteration based points selection process.
 
cv::Point3d getCenter (cv::Mat cloud)
 Get the center of points on surface in .ply model.
 
float getRadius (cv::Mat cloud, cv::Point3d center)
 Get the proper camera radius from the view point to the center of model.
 

Static Public Member Functions

static void createHeader (int num_item, int rows, int cols, const char *headerPath)
 Create header in binary files collecting the image data and label.
 
static int swapEndian (int val)
 Suit the position of bytes in 4 byte data structure for particular system.
 
static void writeBinaryfile (String filenameImg, const char *binaryPath, const char *headerPath, int num_item, int label_class, int x, int y, int z, int isrgb)
 Write binary files used for training in other open source project including Caffe.
 

Public Attributes

std::vector< cv::Point3dCameraPos
 Camera position on the sphere after duplicated points elimination.
 

Detailed Description

Icosohedron based camera view data generator. The class create some sphere views of camera towards a 3D object meshed from .ply files.

hinterstoisser2008panter .

Constructor & Destructor Documentation

cv::cnn_3dobj::icoSphere::icoSphere ( float  radius_in,
int  depth_in 
)

Generating a sphere by mean of a iteration based points selection process.

Parameters
radius_inAnother radius used for adjusting the view distance.
depth_inNumber of interations for increasing the points on sphere.

Member Function Documentation

static void cv::cnn_3dobj::icoSphere::createHeader ( int  num_item,
int  rows,
int  cols,
const char *  headerPath 
)
static

Create header in binary files collecting the image data and label.

Parameters
num_itemNumber of items.
rowsRows of a single sample image.
colsColumns of a single sample image.
headerPathPath where the header will be stored.
cv::Point3d cv::cnn_3dobj::icoSphere::getCenter ( cv::Mat  cloud)

Get the center of points on surface in .ply model.

Parameters
cloudPoint cloud used for computing the center point.
float cv::cnn_3dobj::icoSphere::getRadius ( cv::Mat  cloud,
cv::Point3d  center 
)

Get the proper camera radius from the view point to the center of model.

Parameters
cloudPoint cloud used for computing the center point.
centercenter point of the point cloud.
static int cv::cnn_3dobj::icoSphere::swapEndian ( int  val)
static

Suit the position of bytes in 4 byte data structure for particular system.

static void cv::cnn_3dobj::icoSphere::writeBinaryfile ( String  filenameImg,
const char *  binaryPath,
const char *  headerPath,
int  num_item,
int  label_class,
int  x,
int  y,
int  z,
int  isrgb 
)
static

Write binary files used for training in other open source project including Caffe.

Parameters
filenameImgPath which including a set of images.
binaryPathPath which will output a binary file.
headerPathPath which header belongs to.
num_itemNumber of samples.
label_classClass label of the sample.
xPose label of X.
yPose label of Y.
zPose label of Z.
isrgbOption for choice of using RGB images or not.

Member Data Documentation

std::vector<cv::Point3d> cv::cnn_3dobj::icoSphere::CameraPos

Camera position on the sphere after duplicated points elimination.


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