initial documentation
This commit is contained in:
parent
2822845ba6
commit
a5b75769a3
11
modules/viz/doc/viz.rst
Normal file
11
modules/viz/doc/viz.rst
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
***********************
|
||||||
|
viz. 3D Visualizer
|
||||||
|
***********************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
viz3d.rst
|
||||||
|
widget.rst
|
||||||
|
types.rst
|
||||||
|
widget_accessor.rst
|
556
modules/viz/doc/viz3d.rst
Normal file
556
modules/viz/doc/viz3d.rst
Normal file
@ -0,0 +1,556 @@
|
|||||||
|
Viz3d
|
||||||
|
=====
|
||||||
|
|
||||||
|
.. highlight:: cpp
|
||||||
|
|
||||||
|
Viz3d
|
||||||
|
-----
|
||||||
|
.. ocv:class:: Viz3d
|
||||||
|
|
||||||
|
The Viz3d class represents a 3D visualizer window. This class is implicitly shared. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Viz3d
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
typedef cv::Ptr<Viz3d> Ptr;
|
||||||
|
typedef void (*KeyboardCallback)(const KeyboardEvent&, void*);
|
||||||
|
typedef void (*MouseCallback)(const MouseEvent&, void*);
|
||||||
|
|
||||||
|
Viz3d(const String& window_name = String());
|
||||||
|
Viz3d(const Viz3d&);
|
||||||
|
Viz3d& operator=(const Viz3d&);
|
||||||
|
~Viz3d();
|
||||||
|
|
||||||
|
void showWidget(const String &id, const Widget &widget, const Affine3f &pose = Affine3f::Identity());
|
||||||
|
void removeWidget(const String &id);
|
||||||
|
Widget getWidget(const String &id) const;
|
||||||
|
void removeAllWidgets();
|
||||||
|
|
||||||
|
void setWidgetPose(const String &id, const Affine3f &pose);
|
||||||
|
void updateWidgetPose(const String &id, const Affine3f &pose);
|
||||||
|
Affine3f getWidgetPose(const String &id) const;
|
||||||
|
|
||||||
|
void setCamera(const Camera &camera);
|
||||||
|
Camera getCamera() const;
|
||||||
|
Affine3f getViewerPose();
|
||||||
|
void setViewerPose(const Affine3f &pose);
|
||||||
|
|
||||||
|
void resetCameraViewpoint (const String &id);
|
||||||
|
void resetCamera();
|
||||||
|
|
||||||
|
void convertToWindowCoordinates(const Point3d &pt, Point3d &window_coord);
|
||||||
|
void converTo3DRay(const Point3d &window_coord, Point3d &origin, Vec3d &direction);
|
||||||
|
|
||||||
|
Size getWindowSize() const;
|
||||||
|
void setWindowSize(const Size &window_size);
|
||||||
|
String getWindowName() const;
|
||||||
|
void saveScreenshot (const String &file);
|
||||||
|
void setWindowPosition (int x, int y);
|
||||||
|
void setFullScreen (bool mode);
|
||||||
|
void setBackgroundColor(const Color& color = Color::black());
|
||||||
|
|
||||||
|
void spin();
|
||||||
|
void spinOnce(int time = 1, bool force_redraw = false);
|
||||||
|
bool wasStopped() const;
|
||||||
|
|
||||||
|
void registerKeyboardCallback(KeyboardCallback callback, void* cookie = 0);
|
||||||
|
void registerMouseCallback(MouseCallback callback, void* cookie = 0);
|
||||||
|
|
||||||
|
void setRenderingProperty(const String &id, int property, double value);
|
||||||
|
double getRenderingProperty(const String &id, int property);
|
||||||
|
|
||||||
|
void setDesiredUpdateRate(double rate);
|
||||||
|
double getDesiredUpdateRate();
|
||||||
|
|
||||||
|
void setRepresentationToSurface();
|
||||||
|
void setRepresentationToWireframe();
|
||||||
|
void setRepresentationToPoints();
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
Viz3d::Viz3d
|
||||||
|
------------
|
||||||
|
The constructors.
|
||||||
|
|
||||||
|
.. ocv:function:: Viz3d::Viz3d(const String& window_name = String())
|
||||||
|
|
||||||
|
:param window_name: Name of the window.
|
||||||
|
|
||||||
|
Viz3d::showWidget
|
||||||
|
-----------------
|
||||||
|
Shows a widget in the window.
|
||||||
|
|
||||||
|
.. ocv:function:: void Viz3d::showWidget(const String &id, const Widget &widget, const Affine3f &pose = Affine3f::Identity())
|
||||||
|
|
||||||
|
:param id: A unique id for the widget.
|
||||||
|
:param widget: The widget to be rendered in the window.
|
||||||
|
:param pose: Pose of the widget.
|
||||||
|
|
||||||
|
Viz3d::removeWidget
|
||||||
|
-------------------
|
||||||
|
Removes a widget from the window.
|
||||||
|
|
||||||
|
.. ocv:function:: void removeWidget(const String &id)
|
||||||
|
|
||||||
|
:param id: The id of the widget that will be removed.
|
||||||
|
|
||||||
|
Viz3d::getWidget
|
||||||
|
----------------
|
||||||
|
Retrieves a widget from the window. A widget is implicitly shared;
|
||||||
|
that is, if the returned widget is modified, the changes will be
|
||||||
|
immediately visible in the window.
|
||||||
|
|
||||||
|
.. ocv:function:: Widget getWidget(const String &id) const
|
||||||
|
|
||||||
|
:param id: The id of the widget that will be returned.
|
||||||
|
|
||||||
|
Viz3d::removeAllWidgets
|
||||||
|
-----------------------
|
||||||
|
Removes all widgets from the window.
|
||||||
|
|
||||||
|
.. ocv:function:: void removeAllWidgets()
|
||||||
|
|
||||||
|
Viz3d::setWidgetPose
|
||||||
|
--------------------
|
||||||
|
Sets pose of a widget in the window.
|
||||||
|
|
||||||
|
.. ocv:function:: void setWidgetPose(const String &id, const Affine3f &pose)
|
||||||
|
|
||||||
|
:param id: The id of the widget whose pose will be set.
|
||||||
|
:param pose: The new pose of the widget.
|
||||||
|
|
||||||
|
Viz3d::updateWidgetPose
|
||||||
|
-----------------------
|
||||||
|
Updates pose of a widget in the window by pre-multiplying its current pose.
|
||||||
|
|
||||||
|
.. ocv:function:: void updateWidgetPose(const String &id, const Affine3f &pose)
|
||||||
|
|
||||||
|
:param id: The id of the widget whose pose will be updated.
|
||||||
|
:param pose: The pose that the current pose of the widget will be pre-multiplied by.
|
||||||
|
|
||||||
|
Viz3d::getWidgetPose
|
||||||
|
--------------------
|
||||||
|
Returns the current pose of a widget in the window.
|
||||||
|
|
||||||
|
.. ocv:function:: Affine3f getWidgetPose(const String &id) const
|
||||||
|
|
||||||
|
:param id: The id of the widget whose pose will be returned.
|
||||||
|
|
||||||
|
Viz3d::setCamera
|
||||||
|
----------------
|
||||||
|
Sets the intrinsic parameters of the viewer using Camera.
|
||||||
|
|
||||||
|
.. ocv:function:: void setCamera(const Camera &camera)
|
||||||
|
|
||||||
|
:param camera: Camera object wrapping intrinsinc parameters.
|
||||||
|
|
||||||
|
Viz3d::getCamera
|
||||||
|
----------------
|
||||||
|
Returns a camera object that contains intrinsic parameters of the current viewer.
|
||||||
|
|
||||||
|
.. ocv:function:: Camera getCamera() const
|
||||||
|
|
||||||
|
Viz3d::getViewerPose
|
||||||
|
--------------------
|
||||||
|
Returns the current pose of the viewer.
|
||||||
|
|
||||||
|
..ocv:function:: Affine3f getViewerPose()
|
||||||
|
|
||||||
|
Viz3d::setViewerPose
|
||||||
|
--------------------
|
||||||
|
Sets pose of the viewer.
|
||||||
|
|
||||||
|
.. ocv:function:: void setViewerPose(const Affine3f &pose)
|
||||||
|
|
||||||
|
:param pose: The new pose of the viewer.
|
||||||
|
|
||||||
|
Viz3d::resetCameraViewpoint
|
||||||
|
---------------------------
|
||||||
|
Resets camera viewpoint to a 3D widget in the scene.
|
||||||
|
|
||||||
|
.. ocv:function:: void resetCameraViewpoint (const String &id)
|
||||||
|
|
||||||
|
:param pose: Id of a 3D widget.
|
||||||
|
|
||||||
|
Viz3d::resetCamera
|
||||||
|
------------------
|
||||||
|
Resets camera.
|
||||||
|
|
||||||
|
.. ocv:function:: void resetCamera()
|
||||||
|
|
||||||
|
Viz3d::convertToWindowCoordinates
|
||||||
|
---------------------------------
|
||||||
|
Transforms a point in world coordinate system to window coordinate system.
|
||||||
|
|
||||||
|
.. ocv:function:: void convertToWindowCoordinates(const Point3d &pt, Point3d &window_coord)
|
||||||
|
|
||||||
|
:param pt: Point in world coordinate system.
|
||||||
|
:param window_coord: Output point in window coordinate system.
|
||||||
|
|
||||||
|
Viz3d::converTo3DRay
|
||||||
|
--------------------
|
||||||
|
Transforms a point in window coordinate system to a 3D ray in world coordinate system.
|
||||||
|
|
||||||
|
.. ocv:function:: void converTo3DRay(const Point3d &window_coord, Point3d &origin, Vec3d &direction)
|
||||||
|
|
||||||
|
:param window_coord: Point in window coordinate system.
|
||||||
|
:param origin: Output origin of the ray.
|
||||||
|
:param direction: Output direction of the ray.
|
||||||
|
|
||||||
|
Viz3d::getWindowSize
|
||||||
|
--------------------
|
||||||
|
Returns the current size of the window.
|
||||||
|
|
||||||
|
.. ocv:function:: Size getWindowSize() const
|
||||||
|
|
||||||
|
Viz3d::setWindowSize
|
||||||
|
--------------------
|
||||||
|
Sets the size of the window.
|
||||||
|
|
||||||
|
.. ocv:function:: void setWindowSize(const Size &window_size)
|
||||||
|
|
||||||
|
:param window_size: New size of the window.
|
||||||
|
|
||||||
|
Viz3d::getWindowName
|
||||||
|
--------------------
|
||||||
|
Returns the name of the window which has been set in the constructor.
|
||||||
|
|
||||||
|
.. ocv:function:: String getWindowName() const
|
||||||
|
|
||||||
|
Viz3d::saveScreenshot
|
||||||
|
---------------------
|
||||||
|
Saves screenshot of the current scene.
|
||||||
|
|
||||||
|
.. ocv:function:: void saveScreenshot(const String &file)
|
||||||
|
|
||||||
|
:param file: Name of the file.
|
||||||
|
|
||||||
|
Viz3d::setWindowPosition
|
||||||
|
------------------------
|
||||||
|
Sets the position of the window in the screen.
|
||||||
|
|
||||||
|
.. ocv:function:: void setWindowPosition(int x, int y)
|
||||||
|
|
||||||
|
:param x: x coordinate of the window
|
||||||
|
:param y: y coordinate of the window
|
||||||
|
|
||||||
|
Viz3d::setFullScreen
|
||||||
|
--------------------
|
||||||
|
Sets or unsets full-screen rendering mode.
|
||||||
|
|
||||||
|
.. ocv:function:: void setFullScreen(bool mode)
|
||||||
|
|
||||||
|
:param mode: If true, window will use full-screen mode.
|
||||||
|
|
||||||
|
Viz3d::setBackgroundColor
|
||||||
|
-------------------------
|
||||||
|
Sets background color.
|
||||||
|
|
||||||
|
.. ocv:function:: void setBackgroundColor(const Color& color = Color::black())
|
||||||
|
|
||||||
|
Viz3d::spin
|
||||||
|
-----------
|
||||||
|
The window renders and starts the event loop.
|
||||||
|
|
||||||
|
.. ocv:function:: void spin()
|
||||||
|
|
||||||
|
Viz3d::spinOnce
|
||||||
|
---------------
|
||||||
|
Starts the event loop for a given time.
|
||||||
|
|
||||||
|
.. ocv:function:: void spinOnce(int time = 1, bool force_redraw = false)
|
||||||
|
|
||||||
|
:param time: Amount of time in milliseconds for the event loop to keep running.
|
||||||
|
:param force_draw: If true, window renders.
|
||||||
|
|
||||||
|
Viz3d::wasStopped
|
||||||
|
-----------------
|
||||||
|
Returns whether the event loop has been stopped.
|
||||||
|
|
||||||
|
.. ocv:function:: bool wasStopped()
|
||||||
|
|
||||||
|
Viz3d::registerKeyboardCallback
|
||||||
|
-------------------------------
|
||||||
|
Sets keyboard handler.
|
||||||
|
|
||||||
|
.. ocv:function:: void registerKeyboardCallback(KeyboardCallback callback, void* cookie = 0)
|
||||||
|
|
||||||
|
:param callback: Keyboard callback.
|
||||||
|
:param cookie: The optional parameter passed to the callback.
|
||||||
|
|
||||||
|
Viz3d::registerMouseCallback
|
||||||
|
----------------------------
|
||||||
|
Sets mouse handler.
|
||||||
|
|
||||||
|
.. ocv:function:: void registerMouseCallback(MouseCallback callback, void* cookie = 0)
|
||||||
|
|
||||||
|
:param callback: Mouse callback.
|
||||||
|
:param cookie: The optional parameter passed to the callback.
|
||||||
|
|
||||||
|
Viz3d::setRenderingProperty
|
||||||
|
---------------------------
|
||||||
|
Sets rendering property of a widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setRenderingProperty(const String &id, int property, double value)
|
||||||
|
|
||||||
|
:param id: Id of the widget.
|
||||||
|
:param property: Property that will be modified.
|
||||||
|
:param value: The new value of the property.
|
||||||
|
|
||||||
|
Viz3d::getRenderingProperty
|
||||||
|
---------------------------
|
||||||
|
Returns rendering property of a widget.
|
||||||
|
|
||||||
|
.. ocv:function:: double getRenderingProperty(const String &id, int property)
|
||||||
|
|
||||||
|
:param id: Id of the widget.
|
||||||
|
:param property: Property.
|
||||||
|
|
||||||
|
Viz3d::setDesiredUpdateRate
|
||||||
|
---------------------------
|
||||||
|
Sets desired update rate of the window.
|
||||||
|
|
||||||
|
.. ocv:function:: void setDesiredUpdateRate(double rate)
|
||||||
|
|
||||||
|
:param rate: Desired update rate. The default is 30.
|
||||||
|
|
||||||
|
Viz3d::getDesiredUpdateRate
|
||||||
|
---------------------------
|
||||||
|
Returns desired update rate of the window.
|
||||||
|
|
||||||
|
.. ocv:function:: double getDesiredUpdateRate()
|
||||||
|
|
||||||
|
Viz3d::setRepresentationToSurface
|
||||||
|
---------------------------------
|
||||||
|
Sets geometry representation of the widgets to surface.
|
||||||
|
|
||||||
|
.. ocv:function:: void setRepresentationToSurface()
|
||||||
|
|
||||||
|
Viz3d::setRepresentationToWireframe
|
||||||
|
-----------------------------------
|
||||||
|
Sets geometry representation of the widgets to wireframe.
|
||||||
|
|
||||||
|
.. ocv:function:: void setRepresentationToWireframe()
|
||||||
|
|
||||||
|
Viz3d::setRepresentationToPoints
|
||||||
|
--------------------------------
|
||||||
|
Sets geometry representation of the widgets to points.
|
||||||
|
|
||||||
|
.. ocv:function:: void setRepresentationToPoints()
|
||||||
|
|
||||||
|
Color
|
||||||
|
-----
|
||||||
|
.. ocv:class:: Color
|
||||||
|
|
||||||
|
This class a represents BGR color. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Color : public Scalar
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Color();
|
||||||
|
Color(double gray);
|
||||||
|
Color(double blue, double green, double red);
|
||||||
|
|
||||||
|
Color(const Scalar& color);
|
||||||
|
|
||||||
|
static Color black();
|
||||||
|
static Color blue();
|
||||||
|
static Color green();
|
||||||
|
static Color cyan();
|
||||||
|
|
||||||
|
static Color red();
|
||||||
|
static Color magenta();
|
||||||
|
static Color yellow();
|
||||||
|
static Color white();
|
||||||
|
|
||||||
|
static Color gray();
|
||||||
|
};
|
||||||
|
|
||||||
|
Mesh3d
|
||||||
|
------
|
||||||
|
.. ocv:class:: Mesh3d
|
||||||
|
|
||||||
|
This class wraps mesh attributes, and it can load a mesh from a ``ply`` file. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Mesh3d
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
Mat cloud, colors;
|
||||||
|
Mat polygons;
|
||||||
|
|
||||||
|
//! Loads mesh from a given ply file
|
||||||
|
static Mesh3d loadMesh(const String& file);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
Mesh3d::loadMesh
|
||||||
|
----------------
|
||||||
|
Loads a mesh from a ``ply`` file.
|
||||||
|
|
||||||
|
.. ocv:function:: static Mesh3d loadMesh(const String& file)
|
||||||
|
|
||||||
|
:param file: File name.
|
||||||
|
|
||||||
|
|
||||||
|
KeyboardEvent
|
||||||
|
-------------
|
||||||
|
.. ocv:class:: KeyboardEvent
|
||||||
|
|
||||||
|
This class represents a keyboard event. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS KeyboardEvent
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const unsigned int Alt = 1;
|
||||||
|
static const unsigned int Ctrl = 2;
|
||||||
|
static const unsigned int Shift = 4;
|
||||||
|
|
||||||
|
//! Create a keyboard event
|
||||||
|
//! - Note that action is true if key is pressed, false if released
|
||||||
|
KeyboardEvent (bool action, const std::string& key_sym, unsigned char key, bool alt, bool ctrl, bool shift);
|
||||||
|
|
||||||
|
bool isAltPressed () const;
|
||||||
|
bool isCtrlPressed () const;
|
||||||
|
bool isShiftPressed () const;
|
||||||
|
|
||||||
|
unsigned char getKeyCode () const;
|
||||||
|
|
||||||
|
const String& getKeySym () const;
|
||||||
|
bool keyDown () const;
|
||||||
|
bool keyUp () const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
KeyboardEvent::KeyboardEvent
|
||||||
|
----------------------------
|
||||||
|
Constructs a KeyboardEvent.
|
||||||
|
|
||||||
|
.. ocv:function:: KeyboardEvent (bool action, const std::string& key_sym, unsigned char key, bool alt, bool ctrl, bool shift)
|
||||||
|
|
||||||
|
:param action: If true, key is pressed. If false, key is released.
|
||||||
|
:param key_sym: Name of the key.
|
||||||
|
:param key: Code of the key.
|
||||||
|
:param alt: If true, ``alt`` is pressed.
|
||||||
|
:param ctrl: If true, ``ctrl`` is pressed.
|
||||||
|
:param shift: If true, ``shift`` is pressed.
|
||||||
|
|
||||||
|
MouseEvent
|
||||||
|
----------
|
||||||
|
.. ocv:class:: MouseEvent
|
||||||
|
|
||||||
|
This class represents a mouse event. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS MouseEvent
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum Type { MouseMove = 1, MouseButtonPress, MouseButtonRelease, MouseScrollDown, MouseScrollUp, MouseDblClick } ;
|
||||||
|
enum MouseButton { NoButton = 0, LeftButton, MiddleButton, RightButton, VScroll } ;
|
||||||
|
|
||||||
|
MouseEvent (const Type& type, const MouseButton& button, const Point& p, bool alt, bool ctrl, bool shift);
|
||||||
|
|
||||||
|
Type type;
|
||||||
|
MouseButton button;
|
||||||
|
Point pointer;
|
||||||
|
unsigned int key_state;
|
||||||
|
};
|
||||||
|
|
||||||
|
MouseEvent::MouseEvent
|
||||||
|
----------------------
|
||||||
|
Constructs a MouseEvent.
|
||||||
|
|
||||||
|
.. ocv:function:: MouseEvent (const Type& type, const MouseButton& button, const Point& p, bool alt, bool ctrl, bool shift)
|
||||||
|
|
||||||
|
:param type: Type of the event. This can be **MouseMove**, **MouseButtonPress**, **MouseButtonRelease**, **MouseScrollDown**, **MouseScrollUp**, **MouseDblClick**.
|
||||||
|
:param button: Mouse button. This can be **NoButton**, **LeftButton**, **MiddleButton**, **RightButton**, **VScroll**.
|
||||||
|
:param p: Position of the event.
|
||||||
|
:param alt: If true, ``alt`` is pressed.
|
||||||
|
:param ctrl: If true, ``ctrl`` is pressed.
|
||||||
|
:param shift: If true, ``shift`` is pressed.
|
||||||
|
|
||||||
|
Camera
|
||||||
|
------
|
||||||
|
.. ocv:class:: Camera
|
||||||
|
|
||||||
|
This class wraps intrinsic parameters of a camera. It provides several constructors
|
||||||
|
that can extract the intrinsic parameters from ``field of view``, ``intrinsic matrix`` and
|
||||||
|
``projection matrix``. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Camera
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Camera(float f_x, float f_y, float c_x, float c_y, const Size &window_size);
|
||||||
|
Camera(const Vec2f &fov, const Size &window_size);
|
||||||
|
Camera(const cv::Matx33f &K, const Size &window_size);
|
||||||
|
Camera(const cv::Matx44f &proj, const Size &window_size);
|
||||||
|
|
||||||
|
inline const Vec2d & getClip() const { return clip_; }
|
||||||
|
inline void setClip(const Vec2d &clip) { clip_ = clip; }
|
||||||
|
|
||||||
|
inline const Size & getWindowSize() const { return window_size_; }
|
||||||
|
void setWindowSize(const Size &window_size);
|
||||||
|
|
||||||
|
inline const Vec2f & getFov() const { return fov_; }
|
||||||
|
inline void setFov(const Vec2f & fov) { fov_ = fov; }
|
||||||
|
|
||||||
|
inline const Vec2f & getPrincipalPoint() const { return principal_point_; }
|
||||||
|
inline const Vec2f & getFocalLength() const { return focal_; }
|
||||||
|
|
||||||
|
void computeProjectionMatrix(Matx44f &proj) const;
|
||||||
|
|
||||||
|
static Camera KinectCamera(const Size &window_size);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
Camera::Camera
|
||||||
|
--------------
|
||||||
|
Constructs a Camera.
|
||||||
|
|
||||||
|
.. ocv:function:: Camera(float f_x, float f_y, float c_x, float c_y, const Size &window_size)
|
||||||
|
|
||||||
|
:param f_x: Horizontal focal length.
|
||||||
|
:param f_y: Vertical focal length.
|
||||||
|
:param c_x: x coordinate of the principal point.
|
||||||
|
:param c_y: y coordinate of the principal point.
|
||||||
|
:param window_size: Size of the window. This together with focal length and principal point determines the field of view.
|
||||||
|
|
||||||
|
.. ocv:function:: Camera(const Vec2f &fov, const Size &window_size)
|
||||||
|
|
||||||
|
:param fov: Field of view (horizontal, vertical)
|
||||||
|
:param window_size: Size of the window.
|
||||||
|
|
||||||
|
Principal point is at the center of the window by default.
|
||||||
|
|
||||||
|
.. ocv:function:: Camera(const cv::Matx33f &K, const Size &window_size)
|
||||||
|
|
||||||
|
:param K: Intrinsic matrix of the camera.
|
||||||
|
:param window_size: Size of the window. This together with intrinsic matrix determines the field of view.
|
||||||
|
|
||||||
|
.. ocv:function:: Camera(const cv::Matx44f &proj, const Size &window_size)
|
||||||
|
|
||||||
|
:param proj: Projection matrix of the camera.
|
||||||
|
:param window_size: Size of the window. This together with projection matrix determines the field of view.
|
||||||
|
|
||||||
|
Camera::computeProjectionMatrix
|
||||||
|
-------------------------------
|
||||||
|
Computes projection matrix using intrinsic parameters of the camera.
|
||||||
|
|
||||||
|
.. ocv:function:: void computeProjectionMatrix(Matx44f &proj) const
|
||||||
|
|
||||||
|
:param proj: Output projection matrix.
|
||||||
|
|
||||||
|
Camera::KinectCamera
|
||||||
|
--------------------
|
||||||
|
Creates a Kinect Camera.
|
||||||
|
|
||||||
|
.. ocv:function:: static Camera KinectCamera(const Size &window_size)
|
||||||
|
|
||||||
|
:param window_size: Size of the window. This together with intrinsic matrix of a Kinect Camera determines the field of view.
|
||||||
|
|
811
modules/viz/doc/widget.rst
Normal file
811
modules/viz/doc/widget.rst
Normal file
@ -0,0 +1,811 @@
|
|||||||
|
Widget
|
||||||
|
======
|
||||||
|
|
||||||
|
.. highlight:: cpp
|
||||||
|
|
||||||
|
In this section, the built-in widgets are presented.
|
||||||
|
|
||||||
|
Widget
|
||||||
|
------
|
||||||
|
.. ocv:class:: Widget
|
||||||
|
|
||||||
|
Base class of all widgets. Widget is implicitly shared.::
|
||||||
|
|
||||||
|
class CV_EXPORTS Widget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Widget();
|
||||||
|
Widget(const Widget& other);
|
||||||
|
Widget& operator=(const Widget& other);
|
||||||
|
~Widget();
|
||||||
|
|
||||||
|
//! Create a widget directly from ply file
|
||||||
|
static Widget fromPlyFile(const String &file_name);
|
||||||
|
|
||||||
|
//! Rendering properties of this particular widget
|
||||||
|
void setRenderingProperty(int property, double value);
|
||||||
|
double getRenderingProperty(int property) const;
|
||||||
|
|
||||||
|
//! Casting between widgets
|
||||||
|
template<typename _W> _W cast();
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
Widget::fromPlyFile
|
||||||
|
-------------------
|
||||||
|
Creates a widget from ply file.
|
||||||
|
|
||||||
|
.. ocv:function:: static Widget fromPlyFile(const String &file_name)
|
||||||
|
|
||||||
|
:param file_name: Ply file name.
|
||||||
|
|
||||||
|
Widget::setRenderingProperty
|
||||||
|
----------------------------
|
||||||
|
Sets rendering property of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setRenderingProperty(int property, double value)
|
||||||
|
|
||||||
|
:param property: Property that will be modified.
|
||||||
|
:param value: The new value of the property.
|
||||||
|
|
||||||
|
Widget::getRenderingProperty
|
||||||
|
----------------------------
|
||||||
|
Returns rendering property of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: double getRenderingProperty(int property) const
|
||||||
|
|
||||||
|
:param property: Property.
|
||||||
|
|
||||||
|
Widget::cast
|
||||||
|
------------
|
||||||
|
Casts a widget to another.
|
||||||
|
|
||||||
|
.. ocv:function:: template<typename _W> _W cast()
|
||||||
|
|
||||||
|
Widget3D
|
||||||
|
--------
|
||||||
|
.. ocv:class:: Widget3D
|
||||||
|
|
||||||
|
Base class of all 3D widgets. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Widget3D : public Widget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Widget3D() {}
|
||||||
|
|
||||||
|
void setPose(const Affine3f &pose);
|
||||||
|
void updatePose(const Affine3f &pose);
|
||||||
|
Affine3f getPose() const;
|
||||||
|
|
||||||
|
void setColor(const Color &color);
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
Widget3D::setPose
|
||||||
|
-----------------
|
||||||
|
Sets pose of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setPose(const Affine3f &pose)
|
||||||
|
|
||||||
|
:param pose: The new pose of the widget.
|
||||||
|
|
||||||
|
Widget3D::updateWidgetPose
|
||||||
|
--------------------------
|
||||||
|
Updates pose of the widget by pre-multiplying its current pose.
|
||||||
|
|
||||||
|
.. ocv:function:: void updateWidgetPose(const Affine3f &pose)
|
||||||
|
|
||||||
|
:param pose: The pose that the current pose of the widget will be pre-multiplied by.
|
||||||
|
|
||||||
|
Widget3D::getPose
|
||||||
|
-----------------
|
||||||
|
Returns the current pose of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: Affine3f getWidgetPose() const
|
||||||
|
|
||||||
|
Widget3D::setColor
|
||||||
|
------------------
|
||||||
|
Sets the color of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setColor(const Color &color)
|
||||||
|
|
||||||
|
:param color: Color
|
||||||
|
|
||||||
|
Widget2D
|
||||||
|
--------
|
||||||
|
.. ocv:class:: Widget2D
|
||||||
|
|
||||||
|
Base class of all 2D widgets. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Widget2D : public Widget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Widget2D() {}
|
||||||
|
|
||||||
|
void setColor(const Color &color);
|
||||||
|
};
|
||||||
|
|
||||||
|
Widget2D::setColor
|
||||||
|
------------------
|
||||||
|
Sets the color of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setColor(const Color &color)
|
||||||
|
|
||||||
|
:param color: Color
|
||||||
|
|
||||||
|
LineWidget
|
||||||
|
----------
|
||||||
|
.. ocv:class:: LineWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a finite line. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS LineWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LineWidget(const Point3f &pt1, const Point3f &pt2, const Color &color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
LineWidget::LineWidget
|
||||||
|
----------------------
|
||||||
|
Constructs a LineWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: LineWidget(const Point3f &pt1, const Point3f &pt2, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param pt1: Start point of the line.
|
||||||
|
:param pt2: End point of the line.
|
||||||
|
:param color: Color of the line.
|
||||||
|
|
||||||
|
PlaneWidget
|
||||||
|
-----------
|
||||||
|
.. ocv:class:: PlaneWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a finite plane. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS PlaneWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PlaneWidget(const Vec4f& coefs, double size = 1.0, const Color &color = Color::white());
|
||||||
|
PlaneWidget(const Vec4f& coefs, const Point3f& pt, double size = 1.0, const Color &color = Color::white());
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
PlaneWidget::PlaneWidget
|
||||||
|
------------------------
|
||||||
|
Constructs a PlaneWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: PlaneWidget(const Vec4f& coefs, double size = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param coefs: Plane coefficients as in (A,B,C,D) where Ax + By + Cz + D = 0.
|
||||||
|
:param size: Size of the plane.
|
||||||
|
:param color: Color of the plane.
|
||||||
|
|
||||||
|
.. ocv:function:: PlaneWidget(const Vec4f& coefs, const Point3f& pt, double size = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param coefs: Plane coefficients as in (A,B,C,D) where Ax + By + Cz + D = 0.
|
||||||
|
:param pt: Position of the plane.
|
||||||
|
:param color: Color of the plane.
|
||||||
|
|
||||||
|
SphereWidget
|
||||||
|
------------
|
||||||
|
.. ocv:class:: SphereWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a sphere. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS SphereWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SphereWidget(const cv::Point3f ¢er, float radius, int sphere_resolution = 10, const Color &color = Color::white())
|
||||||
|
};
|
||||||
|
|
||||||
|
SphereWidget::SphereWidget
|
||||||
|
--------------------------
|
||||||
|
Constructs a SphereWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: SphereWidget(const cv::Point3f ¢er, float radius, int sphere_resolution = 10, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param center: Center of the sphere.
|
||||||
|
:param radius: Radius of the sphere.
|
||||||
|
:param sphere_resolution: Resolution of the sphere.
|
||||||
|
:param color: Color of the sphere.
|
||||||
|
|
||||||
|
ArrowWidget
|
||||||
|
-----------
|
||||||
|
.. ocv:class:: ArrowWidget
|
||||||
|
|
||||||
|
This 3D Widget defines an arrow. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS ArrowWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ArrowWidget(const Point3f& pt1, const Point3f& pt2, double thickness = 0.03, const Color &color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
ArrowWidget::ArrowWidget
|
||||||
|
------------------------
|
||||||
|
Constructs an ArrowWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: ArrowWidget(const Point3f& pt1, const Point3f& pt2, double thickness = 0.03, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param pt1: Start point of the arrow.
|
||||||
|
:param pt2: End point of the arrow.
|
||||||
|
:param thickness: Thickness of the arrow. Thickness of arrow head is also adjusted accordingly.
|
||||||
|
:param color: Color of the arrow.
|
||||||
|
|
||||||
|
Arrow head is located at the end point of the arrow.
|
||||||
|
|
||||||
|
CircleWidget
|
||||||
|
------------
|
||||||
|
.. ocv:class:: CircleWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a circle. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CircleWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CircleWidget(const Point3f& pt, double radius, double thickness = 0.01, const Color &color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
CircleWidget::CircleWidget
|
||||||
|
--------------------------
|
||||||
|
Constructs a CircleWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CircleWidget(const Point3f& pt, double radius, double thickness = 0.01, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param pt: Center of the circle.
|
||||||
|
:param radius: Radius of the circle.
|
||||||
|
:param thickness: Thickness of the circle.
|
||||||
|
:param color: Color of the circle.
|
||||||
|
|
||||||
|
CylinderWidget
|
||||||
|
--------------
|
||||||
|
.. ocv:class:: CylinderWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a cylinder. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CylinderWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CylinderWidget(const Point3f& pt_on_axis, const Point3f& axis_direction, double radius, int numsides = 30, const Color &color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
CylinderWidget::CylinderWidget
|
||||||
|
------------------------------
|
||||||
|
Constructs a CylinderWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CylinderWidget(const Point3f& pt_on_axis, const Point3f& axis_direction, double radius, int numsides = 30, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param pt_on_axis: A point on the axis of the cylinder.
|
||||||
|
:param axis_direction: Direction of the axis of the cylinder.
|
||||||
|
:param radius: Radius of the cylinder.
|
||||||
|
:param numsides: Resolution of the cylinder.
|
||||||
|
:param color: Color of the cylinder.
|
||||||
|
|
||||||
|
CubeWidget
|
||||||
|
----------
|
||||||
|
.. ocv:class:: CubeWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a cube. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CubeWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CubeWidget(const Point3f& pt_min, const Point3f& pt_max, bool wire_frame = true, const Color &color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
CubeWidget::CubeWidget
|
||||||
|
----------------------
|
||||||
|
Constructs a CudeWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CubeWidget(const Point3f& pt_min, const Point3f& pt_max, bool wire_frame = true, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param pt_min: Specifies minimum point of the bounding box.
|
||||||
|
:param pt_max: Specifies maximum point of the bounding box.
|
||||||
|
:param wire_frame: If true, cube is represented as wireframe.
|
||||||
|
:param color: Color of the cube.
|
||||||
|
|
||||||
|
CoordinateSystemWidget
|
||||||
|
----------------------
|
||||||
|
.. ocv:class:: CoordinateSystemWidget
|
||||||
|
|
||||||
|
This 3D Widget represents a coordinate system. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CoordinateSystemWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CoordinateSystemWidget(double scale = 1.0);
|
||||||
|
};
|
||||||
|
|
||||||
|
CoordinateSystemWidget::CoordinateSystemWidget
|
||||||
|
----------------------------------------------
|
||||||
|
Constructs a CoordinateSystemWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CoordinateSystemWidget(double scale = 1.0)
|
||||||
|
|
||||||
|
:param scale: Determines the size of the axes.
|
||||||
|
|
||||||
|
PolyLineWidget
|
||||||
|
--------------
|
||||||
|
.. ocv:class:: PolyLineWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a poly line. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS PolyLineWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PolyLineWidget(InputArray points, const Color &color = Color::white());
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
PolyLineWidget::PolyLineWidget
|
||||||
|
------------------------------
|
||||||
|
Constructs a PolyLineWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: PolyLineWidget(InputArray points, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param points: Point set.
|
||||||
|
:param color: Color of the poly line.
|
||||||
|
|
||||||
|
GridWidget
|
||||||
|
----------
|
||||||
|
.. ocv:class:: GridWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a grid. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS GridWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//! Creates grid at the origin
|
||||||
|
GridWidget(const Vec2i &dimensions, const Vec2d &spacing, const Color &color = Color::white());
|
||||||
|
//! Creates grid based on the plane equation
|
||||||
|
GridWidget(const Vec4f &coeffs, const Vec2i &dimensions, const Vec2d &spacing, const Color &color = Color::white());
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
GridWidget::GridWidget
|
||||||
|
----------------------
|
||||||
|
Constructs a GridWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: GridWidget(const Vec2i &dimensions, const Vec2d &spacing, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param dimensions: Number of columns and rows, respectively.
|
||||||
|
:param spacing: Size of each column and row, respectively.
|
||||||
|
:param color: Color of the grid.
|
||||||
|
|
||||||
|
.. ocv:function: GridWidget(const Vec4f &coeffs, const Vec2i &dimensions, const Vec2d &spacing, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param coeffs: Plane coefficients as in (A,B,C,D) where Ax + By + Cz + D = 0.
|
||||||
|
:param dimensions: Number of columns and rows, respectively.
|
||||||
|
:param spacing: Size of each column and row, respectively.
|
||||||
|
:param color: Color of the grid.
|
||||||
|
|
||||||
|
Text3DWidget
|
||||||
|
------------
|
||||||
|
.. ocv:class:: Text3DWidget
|
||||||
|
|
||||||
|
This 3D Widget represents 3D text. The text always faces the camera. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Text3DWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Text3DWidget(const String &text, const Point3f &position, double text_scale = 1.0, const Color &color = Color::white());
|
||||||
|
|
||||||
|
void setText(const String &text);
|
||||||
|
String getText() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
Text3DWidget::Text3DWidget
|
||||||
|
--------------------------
|
||||||
|
Constructs a Text3DWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: Text3DWidget(const String &text, const Point3f &position, double text_scale = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param text: Text content of the widget.
|
||||||
|
:param position: Position of the text.
|
||||||
|
:param text_scale: Size of the text.
|
||||||
|
:param color: Color of the text.
|
||||||
|
|
||||||
|
Text3DWidget::setText
|
||||||
|
---------------------
|
||||||
|
Sets the text content of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setText(const String &text)
|
||||||
|
|
||||||
|
:param text: Text content of the widget.
|
||||||
|
|
||||||
|
Text3DWidget::getText
|
||||||
|
---------------------
|
||||||
|
Returns the current text content of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: String getText() const
|
||||||
|
|
||||||
|
TextWidget
|
||||||
|
----------
|
||||||
|
.. ocv:class:: TextWidget
|
||||||
|
|
||||||
|
This 2D Widget represents text overlay. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS TextWidget : public Widget2D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TextWidget(const String &text, const Point2i &pos, int font_size = 10, const Color &color = Color::white());
|
||||||
|
|
||||||
|
void setText(const String &text);
|
||||||
|
String getText() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
TextWidget::TextWidget
|
||||||
|
----------------------
|
||||||
|
Constructs a TextWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: TextWidget(const String &text, const Point2i &pos, int font_size = 10, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param text: Text content of the widget.
|
||||||
|
:param pos: Position of the text.
|
||||||
|
:param font_size: Font size.
|
||||||
|
:param color: Color of the text.
|
||||||
|
|
||||||
|
TextWidget::setText
|
||||||
|
---------------------
|
||||||
|
Sets the text content of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setText(const String &text)
|
||||||
|
|
||||||
|
:param text: Text content of the widget.
|
||||||
|
|
||||||
|
TextWidget::getText
|
||||||
|
---------------------
|
||||||
|
Returns the current text content of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: String getText() const
|
||||||
|
|
||||||
|
ImageOverlayWidget
|
||||||
|
------------------
|
||||||
|
.. ocv:class:: ImageOverlayWidget
|
||||||
|
|
||||||
|
This 2D Widget represents an image overlay. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS ImageOverlayWidget : public Widget2D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ImageOverlayWidget(const Mat &image, const Rect &rect);
|
||||||
|
|
||||||
|
void setImage(const Mat &image);
|
||||||
|
};
|
||||||
|
|
||||||
|
ImageOverlayWidget::ImageOverlayWidget
|
||||||
|
--------------------------------------
|
||||||
|
Constructs a ImageOverlayWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: ImageOverlayWidget(const Mat &image, const Rect &rect)
|
||||||
|
|
||||||
|
:param image: BGR or Gray-Scale image.
|
||||||
|
:param rect: Image is scaled and positioned based on rect.
|
||||||
|
|
||||||
|
ImageOverlayWidget::setImage
|
||||||
|
----------------------------
|
||||||
|
Sets the image content of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setImage(const Mat &image)
|
||||||
|
|
||||||
|
:param image: BGR or Gray-Scale image.
|
||||||
|
|
||||||
|
Image3DWidget
|
||||||
|
-------------
|
||||||
|
.. ocv:class:: Image3DWidget
|
||||||
|
|
||||||
|
This 3D Widget represents 3D image. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS Image3DWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//! Creates 3D image at the origin
|
||||||
|
Image3DWidget(const Mat &image, const Size &size);
|
||||||
|
//! Creates 3D image at a given position, pointing in the direction of the normal, and having the up_vector orientation
|
||||||
|
Image3DWidget(const Vec3f &position, const Vec3f &normal, const Vec3f &up_vector, const Mat &image, const Size &size);
|
||||||
|
|
||||||
|
void setImage(const Mat &image);
|
||||||
|
};
|
||||||
|
|
||||||
|
Image3DWidget::Image3DWidget
|
||||||
|
----------------------------
|
||||||
|
Constructs a Image3DWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: Image3DWidget(const Mat &image, const Size &size)
|
||||||
|
|
||||||
|
:param image: BGR or Gray-Scale image.
|
||||||
|
:param size: Size of the image.
|
||||||
|
|
||||||
|
.. ocv:function:: Image3DWidget(const Vec3f &position, const Vec3f &normal, const Vec3f &up_vector, const Mat &image, const Size &size)
|
||||||
|
|
||||||
|
:param position: Position of the image.
|
||||||
|
:param normal: Normal of the plane that represents the image.
|
||||||
|
:param up_vector: Determines orientation of the image.
|
||||||
|
:param image: BGR or Gray-Scale image.
|
||||||
|
:param size: Size of the image.
|
||||||
|
|
||||||
|
Image3DWidget::setImage
|
||||||
|
-----------------------
|
||||||
|
Sets the image content of the widget.
|
||||||
|
|
||||||
|
.. ocv:function:: void setImage(const Mat &image)
|
||||||
|
|
||||||
|
:param image: BGR or Gray-Scale image.
|
||||||
|
|
||||||
|
CameraPositionWidget
|
||||||
|
--------------------
|
||||||
|
.. ocv:class:: CameraPositionWidget
|
||||||
|
|
||||||
|
This 3D Widget represents camera position. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CameraPositionWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//! Creates camera coordinate frame (axes) at the origin
|
||||||
|
CameraPositionWidget(double scale = 1.0);
|
||||||
|
//! Creates frustum based on the intrinsic marix K at the origin
|
||||||
|
CameraPositionWidget(const Matx33f &K, double scale = 1.0, const Color &color = Color::white());
|
||||||
|
//! Creates frustum based on the field of view at the origin
|
||||||
|
CameraPositionWidget(const Vec2f &fov, double scale = 1.0, const Color &color = Color::white());
|
||||||
|
//! Creates frustum and display given image at the far plane
|
||||||
|
CameraPositionWidget(const Matx33f &K, const Mat &img, double scale = 1.0, const Color &color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
CameraPositionWidget::CameraPositionWidget
|
||||||
|
------------------------------------------
|
||||||
|
Constructs a CameraPositionWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CameraPositionWidget(double scale = 1.0)
|
||||||
|
|
||||||
|
Creates camera coordinate frame at the origin.
|
||||||
|
|
||||||
|
.. ocv:function:: CameraPositionWidget(const Matx33f &K, double scale = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param K: Intrinsic matrix of the camera.
|
||||||
|
:param scale: Scale of the frustum.
|
||||||
|
:param color: Color of the frustum.
|
||||||
|
|
||||||
|
Creates viewing frustum of the camera based on its intrinsic matrix K.
|
||||||
|
|
||||||
|
.. ocv:function:: CameraPositionWidget(const Vec2f &fov, double scale = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param fov: Field of view of the camera (horizontal, vertical).
|
||||||
|
:param scale: Scale of the frustum.
|
||||||
|
:param color: Color of the frustum.
|
||||||
|
|
||||||
|
Creates viewing frustum of the camera based on its field of view fov.
|
||||||
|
|
||||||
|
.. ocv:function:: CameraPositionWidget(const Matx33f &K, const Mat &img, double scale = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param K: Intrinsic matrix of the camera.
|
||||||
|
:param img: BGR or Gray-Scale image that is going to be displayed at the far plane of the frustum.
|
||||||
|
:param scale: Scale of the frustum and image.
|
||||||
|
:param color: Color of the frustum.
|
||||||
|
|
||||||
|
Creates viewing frustum of the camera based on its intrinsic matrix K, and displays image on the far end plane.
|
||||||
|
|
||||||
|
TrajectoryWidget
|
||||||
|
----------------
|
||||||
|
.. ocv:class:: TrajectoryWidget
|
||||||
|
|
||||||
|
This 3D Widget represents a trajectory. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS TrajectoryWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum {DISPLAY_FRAMES = 1, DISPLAY_PATH = 2};
|
||||||
|
|
||||||
|
//! Displays trajectory of the given path either by coordinate frames or polyline
|
||||||
|
TrajectoryWidget(const std::vector<Affine3f> &path, int display_mode = TrajectoryWidget::DISPLAY_PATH, const Color &color = Color::white(), double scale = 1.0);
|
||||||
|
//! Displays trajectory of the given path by frustums
|
||||||
|
TrajectoryWidget(const std::vector<Affine3f> &path, const Matx33f &K, double scale = 1.0, const Color &color = Color::white());
|
||||||
|
//! Displays trajectory of the given path by frustums
|
||||||
|
TrajectoryWidget(const std::vector<Affine3f> &path, const Vec2f &fov, double scale = 1.0, const Color &color = Color::white());
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
TrajectoryWidget::TrajectoryWidget
|
||||||
|
----------------------------------
|
||||||
|
Constructs a TrajectoryWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: TrajectoryWidget(const std::vector<Affine3f> &path, int display_mode = TrajectoryWidget::DISPLAY_PATH, const Color &color = Color::white(), double scale = 1.0)
|
||||||
|
|
||||||
|
:param path: List of poses on a trajectory.
|
||||||
|
:param display_mode: Display mode. This can be DISPLAY_PATH, DISPLAY_FRAMES, DISPLAY_PATH & DISPLAY_FRAMES.
|
||||||
|
:param color: Color of the polyline that represents path. Frames are not affected.
|
||||||
|
:param scale: Scale of the frames. Polyline is not affected.
|
||||||
|
|
||||||
|
Displays trajectory of the given path as follows:
|
||||||
|
|
||||||
|
* DISPLAY_PATH : Displays a poly line that represents the path.
|
||||||
|
* DISPLAY_FRAMES : Displays coordinate frames at each pose.
|
||||||
|
* DISPLAY_PATH & DISPLAY_FRAMES : Displays both poly line and coordinate frames.
|
||||||
|
|
||||||
|
.. ocv:function:: TrajectoryWidget(const std::vector<Affine3f> &path, const Matx33f &K, double scale = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param path: List of poses on a trajectory.
|
||||||
|
:param K: Intrinsic matrix of the camera.
|
||||||
|
:param scale: Scale of the frustums.
|
||||||
|
:param color: Color of the frustums.
|
||||||
|
|
||||||
|
Displays frustums at each pose of the trajectory.
|
||||||
|
|
||||||
|
.. ocv:function:: TrajectoryWidget(const std::vector<Affine3f> &path, const Vec2f &fov, double scale = 1.0, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param path: List of poses on a trajectory.
|
||||||
|
:param fov: Field of view of the camera (horizontal, vertical).
|
||||||
|
:param scale: Scale of the frustums.
|
||||||
|
:param color: Color of the frustums.
|
||||||
|
|
||||||
|
Displays frustums at each pose of the trajectory.
|
||||||
|
|
||||||
|
SpheresTrajectoryWidget
|
||||||
|
-----------------------
|
||||||
|
.. ocv:class:: SpheresTrajectoryWidget
|
||||||
|
|
||||||
|
This 3D Widget represents a trajectory using spheres and lines, where spheres represent the positions of the camera, and lines
|
||||||
|
represent the direction from previous position to the current. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS SpheresTrajectoryWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SpheresTrajectoryWidget(const std::vector<Affine3f> &path, float line_length = 0.05f,
|
||||||
|
double init_sphere_radius = 0.021, sphere_radius = 0.007,
|
||||||
|
Color &line_color = Color::white(), const Color &sphere_color = Color::white());
|
||||||
|
};
|
||||||
|
|
||||||
|
SpheresTrajectoryWidget::SpheresTrajectoryWidget
|
||||||
|
------------------------------------------------
|
||||||
|
Constructs a SpheresTrajectoryWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: SpheresTrajectoryWidget(const std::vector<Affine3f> &path, float line_length = 0.05f, double init_sphere_radius = 0.021, double sphere_radius = 0.007, const Color &line_color = Color::white(), const Color &sphere_color = Color::white())
|
||||||
|
|
||||||
|
:param path: List of poses on a trajectory.
|
||||||
|
:param line_length: Length of the lines.
|
||||||
|
:param init_sphere_radius: Radius of the first sphere which represents the initial position of the camera.
|
||||||
|
:param sphere_radius: Radius of the rest of the spheres.
|
||||||
|
:param line_color: Color of the lines.
|
||||||
|
:param sphere_color: Color of the spheres.
|
||||||
|
|
||||||
|
CloudWidget
|
||||||
|
-----------
|
||||||
|
.. ocv:class:: CloudWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a point cloud. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CloudWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//! Each point in cloud is mapped to a color in colors
|
||||||
|
CloudWidget(InputArray cloud, InputArray colors);
|
||||||
|
//! All points in cloud have the same color
|
||||||
|
CloudWidget(InputArray cloud, const Color &color = Color::white());
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
CloudWidget::CloudWidget
|
||||||
|
------------------------
|
||||||
|
Constructs a CloudWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CloudWidget(InputArray cloud, InputArray colors)
|
||||||
|
|
||||||
|
:param cloud: Point set which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4.
|
||||||
|
:param colors: Set of colors. It has to be of the same size with cloud.
|
||||||
|
|
||||||
|
Points in the cloud belong to mask when they are set to (NaN, NaN, NaN).
|
||||||
|
|
||||||
|
.. ocv:function:: CloudWidget(InputArray cloud, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param cloud: Point set which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4.
|
||||||
|
:param color: A single color for the whole cloud.
|
||||||
|
|
||||||
|
Points in the cloud belong to mask when they are set to (NaN, NaN, NaN).
|
||||||
|
|
||||||
|
CloudCollectionWidget
|
||||||
|
---------------------
|
||||||
|
.. ocv:class:: CloudCollectionWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a collection of clouds. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CloudCollectionWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CloudCollectionWidget();
|
||||||
|
|
||||||
|
//! Each point in cloud is mapped to a color in colors
|
||||||
|
void addCloud(InputArray cloud, InputArray colors, const Affine3f &pose = Affine3f::Identity());
|
||||||
|
//! All points in cloud have the same color
|
||||||
|
void addCloud(InputArray cloud, const Color &color = Color::white(), Affine3f &pose = Affine3f::Identity());
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
CloudCollectionWidget::CloudCollectionWidget
|
||||||
|
--------------------------------------------
|
||||||
|
Constructs a CloudCollectionWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CloudCollectionWidget()
|
||||||
|
|
||||||
|
CloudCollectionWidget::addCloud
|
||||||
|
-------------------------------
|
||||||
|
Adds a cloud to the collection.
|
||||||
|
|
||||||
|
.. ocv:function:: void addCloud(InputArray cloud, InputArray colors, const Affine3f &pose = Affine3f::Identity())
|
||||||
|
|
||||||
|
:param cloud: Point set which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4.
|
||||||
|
:param colors: Set of colors. It has to be of the same size with cloud.
|
||||||
|
:param pose: Pose of the cloud.
|
||||||
|
|
||||||
|
Points in the cloud belong to mask when they are set to (NaN, NaN, NaN).
|
||||||
|
|
||||||
|
.. ocv:function:: void addCloud(InputArray cloud, const Color &color = Color::white(), const Affine3f &pose = Affine3f::Identity())
|
||||||
|
|
||||||
|
:param cloud: Point set which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4.
|
||||||
|
:param colors: A single color for the whole cloud.
|
||||||
|
:param pose: Pose of the cloud.
|
||||||
|
|
||||||
|
Points in the cloud belong to mask when they are set to (NaN, NaN, NaN).
|
||||||
|
|
||||||
|
CloudNormalsWidget
|
||||||
|
------------------
|
||||||
|
.. ocv:class:: CloudNormalsWidget
|
||||||
|
|
||||||
|
This 3D Widget represents normals of a point cloud. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS CloudNormalsWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CloudNormalsWidget(InputArray cloud, InputArray normals, int level = 100, float scale = 0.02f, const Color &color = Color::white());
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
CloudNormalsWidget::CloudNormalsWidget
|
||||||
|
--------------------------------------
|
||||||
|
Constructs a CloudNormalsWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: CloudNormalsWidget(InputArray cloud, InputArray normals, int level = 100, float scale = 0.02f, const Color &color = Color::white())
|
||||||
|
|
||||||
|
:param cloud: Point set which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4.
|
||||||
|
:param normals: A set of normals that has to be of same type with cloud.
|
||||||
|
:param level: Display only every levelth normal.
|
||||||
|
:param scale: Scale of the arrows that represent normals.
|
||||||
|
:param color: Color of the arrows that represent normals.
|
||||||
|
|
||||||
|
MeshWidget
|
||||||
|
----------
|
||||||
|
.. ocv:class:: MeshWidget
|
||||||
|
|
||||||
|
This 3D Widget defines a mesh. ::
|
||||||
|
|
||||||
|
class CV_EXPORTS MeshWidget : public Widget3D
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MeshWidget(const Mesh3d &mesh);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* hidden */
|
||||||
|
};
|
||||||
|
|
||||||
|
MeshWidget::MeshWidget
|
||||||
|
----------------------
|
||||||
|
Constructs a MeshWidget.
|
||||||
|
|
||||||
|
.. ocv:function:: MeshWidget(const Mesh3d &mesh)
|
||||||
|
|
||||||
|
:param mesh: Mesh object that will be displayed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user