OpenCV  4.10.0
开源计算机视觉库
正在加载...
正在搜索...
没有匹配项
公有成员函数 | 静态公有成员函数 | 所有成员列表
cv::viz::Camera 类参考

此类封装了相机的内参。 更多...

#include <opencv2/viz/types.hpp>

cv::viz::Camera 的协作图

公有成员函数

 Camera (const Matx33d &K, const Size &window_size)
 
 Camera (const Matx44d &proj, const Size &window_size)
 
 Camera (const Vec2d &fov, const Size &window_size)
 
 Camera (double fx, double fy, double cx, double cy, const Size &window_size)
 构造一个 Camera
 
void computeProjectionMatrix (Matx44d &proj) const
 使用相机的内参计算投影矩阵。
 
const Vec2dgetClip () const
 
const Vec2dgetFocalLength () const
 
const Vec2dgetFov () const
 
const Vec2dgetPrincipalPoint () const
 
const SizegetWindowSize () const
 
void setClip (const Vec2d &clip)
 
void setFov (const Vec2d &fov)
 
void setWindowSize (const Size &window_size)
 

静态公有成员函数

static Camera KinectCamera (const Size &window_size)
 创建一个具有 Kinect 内参的 Camera
 

详细描述

此类封装了相机的内参。

它提供了几个构造函数,可以从视场、内参矩阵和投影矩阵中提取内参。

构造函数和析构函数文档

◆ Camera() [1/4]

cv::viz::Camera::Camera ( double  fx,
double  fy,
double  cx,
double  cy,
const Size window_size 
)

构造一个 Camera

参数
fx水平焦距。
fy垂直焦距。
cx主点的 x 坐标。
cy主点的 y 坐标。
window_size窗口大小。这与焦距和主点一起决定了视场。

◆ Camera() [2/4]

cv::viz::Camera::Camera ( const Vec2d fov,
const Size window_size 
)

这是一个重载的成员函数,为了方便提供。它与上述函数的不同之处仅在于它接受的参数。

参数
fov视场(水平、垂直)以弧度表示
window_size窗口大小。默认情况下,主点位于窗口的中心。

◆ Camera() [3/4]

cv::viz::Camera::Camera ( const Matx33d K,
const Size window_size 
)

这是一个重载的成员函数,为了方便提供。它与上述函数的不同之处仅在于它接受的参数。

参数
K相机的内参矩阵,具有以下形式

\[ \begin{bmatrix} f_x & 0 & c_x\\ 0 & f_y & c_y\\ 0 & 0 & 1\\ \end{bmatrix} \]

window_size窗口大小。这与内参矩阵一起决定了视场。

◆ Camera() [4/4]

cv::viz::Camera::Camera ( const Matx44d proj,
const Size window_size 
)
explicit

这是一个重载的成员函数,为了方便提供。它与上述函数的不同之处仅在于它接受的参数。

参数
proj相机的投影矩阵,具有以下形式

\[ \begin{bmatrix} \frac{2n}{r-l} & 0 & \frac{r+l}{r-l} & 0\\ 0 & \frac{2n}{t-b} & \frac{t+b}{t-b} & 0\\ 0 & 0 & -\frac{f+n}{f-n} & -\frac{2fn}{f-n}\\ 0 & 0 & -1 & 0\\ \end{bmatrix} \]

window_size窗口大小。这与投影矩阵一起决定了视场。

成员函数文档

◆ computeProjectionMatrix()

void cv::viz::Camera::computeProjectionMatrix ( Matx44d proj) const

使用相机的内参计算投影矩阵。

参数
proj输出投影矩阵,具有以下形式

\[ \begin{bmatrix} \frac{2n}{r-l} & 0 & \frac{r+l}{r-l} & 0\\ 0 & \frac{2n}{t-b} & \frac{t+b}{t-b} & 0\\ 0 & 0 & -\frac{f+n}{f-n} & -\frac{2fn}{f-n}\\ 0 & 0 & -1 & 0\\ \end{bmatrix} \]

◆ getClip()

const Vec2d & cv::viz::Camera::getClip ( ) const
inline

◆ getFocalLength()

const Vec2d & cv::viz::Camera::getFocalLength ( ) const
inline

◆ getFov()

const Vec2d & cv::viz::Camera::getFov ( ) const
inline

◆ getPrincipalPoint()

const Vec2d & cv::viz::Camera::getPrincipalPoint ( ) const
inline

◆ getWindowSize()

const Size & cv::viz::Camera::getWindowSize ( ) const
inline

◆ KinectCamera()

static Camera cv::viz::Camera::KinectCamera ( const Size window_size)
static

创建一个具有 Kinect 内参的 Camera

  • fx = fy = 525
  • cx = 320
  • cy = 240
参数
window_size窗口大小。这与 Kinect Camera 的内参矩阵一起决定了视场。

◆ setClip()

void cv::viz::Camera::setClip ( const Vec2d clip)
inline

◆ setFov()

void cv::viz::Camera::setFov ( const Vec2d fov)
inline

◆ setWindowSize()

void cv::viz::Camera::setWindowSize ( const Size window_size)

此类的文档从以下文件生成