| | kornia.geometry |
| | =============== |
| |
|
| | Geometric image transformations is another key ingredient in computer vision to manipulate images. |
| | Since geometry operations are typically performed in 2D or 3D, we provide several algorithms to work |
| | with both cases. This module, the original core of the library, consists of the following submodules: |
| | transforms, camera, conversions, linalg and depth. We next describe each of them: |
| |
|
| | - `transforms`: The module provides low level interfaces to manipulate 2D images, with routines for Rotating, |
| | Scaling, Translating, Shearing; Cropping functions in several modalities such as central crops, |
| | crop and resize |
| | Functions to warp tensors given affine or perspective transformations, |
| | and utilities to compute the transformation matrices to perform the mentioned operations. |
| | - `camera`: A set of routines specific to different types of camera representations such as Pinhole |
| | or Orthographic models containing functionalities such as projecting and unprojecting points from the |
| | camera to a world frame. |
| | - `conversions`: Routines to perform conversions between angle representation such as |
| | radians to degrees, coordinates normalization, and homogeneous to euclidean. Moreover, we include advanced |
| | conversions for 3D geometry representations such as Quaternion, Axis-Angle, Rotation Matrix, or Rodrigues |
| | formula. |
| | - `linalg`: Functions to perform general rigid-body homogeneous transformations. We include implementations to |
| | transform points between frames and for homogeneous transformations, manipulation such as composition, |
| | inverse and to compute relative poses. |
| | - `depth`: A set of layers to manipulate depth maps such as how to compute 3D point clouds given depth maps and |
| | calibrated cameras |
| |
|
| |
|
| | :Resources: |
| |
|
| | **align_corners** |
| |
|
| | align_corners is a switch that widely offered in PyTorch geometric transform functions. |
| | Here is a simple illustration showing how a 4x4 image is upsampled to 8x8, made by |
| | `bkkm16 <https://discuss.pytorch.org/t/what-we-should-use-align-corners-false/22663/9?u=ducha-aiki>`_. |
| | |
| | .. image:: https://user-images.githubusercontent.com/4803565/110627988-df8a4d00-81a2-11eb-8e13-06d3f7b09ef1.png |
| |
|
| | - `align_corners=True`, pixels are arranged as a grid of points. Points at the corners are aligned. |
| | - `align_corners=False`, pixels are arranged as 1x1 areas. Area boundaries, rather than their centers, are aligned. |
| |
|
| |
|
| | .. currentmodule:: kornia.geometry |
| |
|
| | .. toctree:: |
| | :maxdepth: 3 |
| |
|
| | geometry.bbox |
| | geometry.calibration |
| | geometry.camera |
| | geometry.conversions |
| | geometry.depth |
| | geometry.epipolar |
| | geometry.homography |
| | geometry.linalg |
| | geometry.subpix |
| | geometry.transform |
| | geometry.ransac |
| |
|