View Source Evision.Detail (Evision v0.1.21)

Link to this section Summary

Types

t()

Type that represents an Evision.Detail struct.

Functions

Estimates focal lengths for each given camera.

Estimates focal lengths for each given camera.

Tries to estimate focal lengths from the given homography under the assumption that the camera undergoes rotations around its centre only.

normalizeUsingWeightMap

restoreImageFromLaplacePyr

restoreImageFromLaplacePyrGpu

stitchingLogLevel

Tries to make panorama more horizontal (or vertical).

Link to this section Types

@type t() :: %Evision.Detail{ref: reference()}

Type that represents an Evision.Detail struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

Link to this function

calibrateRotatingCamera(hs)

View Source
@spec calibrateRotatingCamera([Evision.Mat.maybe_mat_in()]) ::
  Evision.Mat.t() | false | {:error, String.t()}

Estimates focal lengths for each given camera.

Positional Arguments
  • hs: [Evision.Mat]
Return

Python prototype (for reference only):

calibrateRotatingCamera(Hs[, K]) -> retval, K
Link to this function

calibrateRotatingCamera(hs, opts)

View Source
@spec calibrateRotatingCamera(
  [Evision.Mat.maybe_mat_in()],
  [{atom(), term()}, ...] | nil
) ::
  Evision.Mat.t() | false | {:error, String.t()}

Estimates focal lengths for each given camera.

Positional Arguments
  • hs: [Evision.Mat]
Return

Python prototype (for reference only):

calibrateRotatingCamera(Hs[, K]) -> retval, K
Link to this function

computeImageFeatures2(featuresFinder, image)

View Source
@spec computeImageFeatures2(Evision.Feature2D.t(), Evision.Mat.maybe_mat_in()) ::
  Evision.Detail.ImageFeatures.t() | {:error, String.t()}
Positional Arguments
Keyword Arguments
Return

Python prototype (for reference only):

computeImageFeatures2(featuresFinder, image[, mask]) -> features
Link to this function

computeImageFeatures2(featuresFinder, image, opts)

View Source
@spec computeImageFeatures2(
  Evision.Feature2D.t(),
  Evision.Mat.maybe_mat_in(),
  [{atom(), term()}, ...] | nil
) :: Evision.Detail.ImageFeatures.t() | {:error, String.t()}
Positional Arguments
Keyword Arguments
Return

Python prototype (for reference only):

computeImageFeatures2(featuresFinder, image[, mask]) -> features
Link to this function

computeImageFeatures(featuresFinder, images)

View Source
@spec computeImageFeatures(Evision.Feature2D.t(), [Evision.Mat.maybe_mat_in()]) ::
  [Evision.Detail.ImageFeatures.t()] | {:error, String.t()}
Positional Arguments
Keyword Arguments
  • masks: [Evision.Mat].
Return
  • features: [Evision.Detail.ImageFeatures].

Python prototype (for reference only):

computeImageFeatures(featuresFinder, images[, masks]) -> features
Link to this function

computeImageFeatures(featuresFinder, images, opts)

View Source
@spec computeImageFeatures(
  Evision.Feature2D.t(),
  [Evision.Mat.maybe_mat_in()],
  [{atom(), term()}, ...] | nil
) :: [Evision.Detail.ImageFeatures.t()] | {:error, String.t()}
Positional Arguments
Keyword Arguments
  • masks: [Evision.Mat].
Return
  • features: [Evision.Detail.ImageFeatures].

Python prototype (for reference only):

computeImageFeatures(featuresFinder, images[, masks]) -> features
Link to this function

createLaplacePyr(img, num_levels, pyr)

View Source
@spec createLaplacePyr(Evision.Mat.maybe_mat_in(), integer(), [
  Evision.Mat.maybe_mat_in()
]) ::
  [Evision.Mat.t()] | {:error, String.t()}

createLaplacePyr

Positional Arguments
Return
  • pyr: [Evision.Mat]

Python prototype (for reference only):

createLaplacePyr(img, num_levels, pyr) -> pyr
Link to this function

createLaplacePyrGpu(img, num_levels, pyr)

View Source
@spec createLaplacePyrGpu(Evision.Mat.maybe_mat_in(), integer(), [
  Evision.Mat.maybe_mat_in()
]) ::
  [Evision.Mat.t()] | {:error, String.t()}

createLaplacePyrGpu

Positional Arguments
Return
  • pyr: [Evision.Mat]

Python prototype (for reference only):

createLaplacePyrGpu(img, num_levels, pyr) -> pyr
Link to this function

createWeightMap(mask, sharpness, weight)

View Source
@spec createWeightMap(
  Evision.Mat.maybe_mat_in(),
  number(),
  Evision.Mat.maybe_mat_in()
) ::
  Evision.Mat.t() | {:error, String.t()}

createWeightMap

Positional Arguments
Return

Python prototype (for reference only):

createWeightMap(mask, sharpness, weight) -> weight
Link to this function

focalsFromHomography(h, f0, f1, f0_ok, f1_ok)

View Source
@spec focalsFromHomography(
  Evision.Mat.maybe_mat_in(),
  number(),
  number(),
  boolean(),
  boolean()
) ::
  :ok | {:error, String.t()}

Tries to estimate focal lengths from the given homography under the assumption that the camera undergoes rotations around its centre only.

Positional Arguments
  • h: Evision.Mat.

    Homography.

  • f0: double.

    Estimated focal length along X axis.

  • f1: double.

    Estimated focal length along Y axis.

  • f0_ok: bool.

    True, if f0 was estimated successfully, false otherwise.

  • f1_ok: bool.

    True, if f1 was estimated successfully, false otherwise.

See "Construction of Panoramic Image Mosaics with Global and Local Alignment" by Heung-Yeung Shum and Richard Szeliski.

Python prototype (for reference only):

focalsFromHomography(H, f0, f1, f0_ok, f1_ok) -> None
Link to this function

leaveBiggestComponent(features, pairwise_matches, conf_threshold)

View Source
@spec leaveBiggestComponent(
  [Evision.Detail.ImageFeatures.t()],
  [Evision.Detail.MatchesInfo.t()],
  number()
) :: [integer()] | {:error, String.t()}

leaveBiggestComponent

Positional Arguments
  • features: [Evision.Detail.ImageFeatures]
  • pairwise_matches: [Evision.Detail.MatchesInfo]
  • conf_threshold: float
Return
  • retval: std::vector<int>

Python prototype (for reference only):

leaveBiggestComponent(features, pairwise_matches, conf_threshold) -> retval
Link to this function

matchesGraphAsString(pathes, pairwise_matches, conf_threshold)

View Source
@spec matchesGraphAsString([binary()], [Evision.Detail.MatchesInfo.t()], number()) ::
  binary() | {:error, String.t()}

matchesGraphAsString

Positional Arguments
  • pathes: [String]
  • pairwise_matches: [Evision.Detail.MatchesInfo]
  • conf_threshold: float
Return

Python prototype (for reference only):

matchesGraphAsString(pathes, pairwise_matches, conf_threshold) -> retval
Link to this function

normalizeUsingWeightMap(weight, src)

View Source
@spec normalizeUsingWeightMap(Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) ::
  Evision.Mat.t() | {:error, String.t()}

normalizeUsingWeightMap

Positional Arguments
Return

Python prototype (for reference only):

normalizeUsingWeightMap(weight, src) -> src
Link to this function

overlapRoi(tl1, tl2, sz1, sz2, roi)

View Source
@spec overlapRoi(
  {number(), number()},
  {number(), number()},
  {number(), number()},
  {number(), number()},
  {number(), number(), number(), number()}
) :: boolean() | {:error, String.t()}

overlapRoi

Positional Arguments
  • tl1: Point
  • tl2: Point
  • sz1: Size
  • sz2: Size
  • roi: Rect
Return
  • retval: bool

Python prototype (for reference only):

overlapRoi(tl1, tl2, sz1, sz2, roi) -> retval
Link to this function

restoreImageFromLaplacePyr(pyr)

View Source
@spec restoreImageFromLaplacePyr([Evision.Mat.maybe_mat_in()]) ::
  [Evision.Mat.t()] | {:error, String.t()}

restoreImageFromLaplacePyr

Return
  • pyr: [Evision.Mat]

Python prototype (for reference only):

restoreImageFromLaplacePyr(pyr) -> pyr
Link to this function

restoreImageFromLaplacePyrGpu(pyr)

View Source
@spec restoreImageFromLaplacePyrGpu([Evision.Mat.maybe_mat_in()]) ::
  [Evision.Mat.t()] | {:error, String.t()}

restoreImageFromLaplacePyrGpu

Return
  • pyr: [Evision.Mat]

Python prototype (for reference only):

restoreImageFromLaplacePyrGpu(pyr) -> pyr
Link to this function

resultRoi(corners, sizes)

View Source
@spec resultRoi([{number(), number()}], [{number(), number()}]) ::
  {number(), number(), number(), number()} | {:error, String.t()}

resultRoi

Positional Arguments
  • corners: [Point]
  • sizes: [Size]
Return
  • retval: Rect

Python prototype (for reference only):

resultRoi(corners, sizes) -> retval
Link to this function

resultRoiIntersection(corners, sizes)

View Source
@spec resultRoiIntersection([{number(), number()}], [{number(), number()}]) ::
  {number(), number(), number(), number()} | {:error, String.t()}

resultRoiIntersection

Positional Arguments
  • corners: [Point]
  • sizes: [Size]
Return
  • retval: Rect

Python prototype (for reference only):

resultRoiIntersection(corners, sizes) -> retval
@spec resultTl([{number(), number()}]) :: {number(), number()} | {:error, String.t()}

resultTl

Positional Arguments
  • corners: [Point]
Return
  • retval: Point

Python prototype (for reference only):

resultTl(corners) -> retval
Link to this function

selectRandomSubset(count, size, subset)

View Source
@spec selectRandomSubset(integer(), integer(), [integer()]) ::
  :ok | {:error, String.t()}

selectRandomSubset

Positional Arguments
  • count: int
  • size: int
  • subset: [int]

Python prototype (for reference only):

selectRandomSubset(count, size, subset) -> None
@spec stitchingLogLevel() :: integer() | {:error, String.t()}

stitchingLogLevel

Return
  • retval: int

Python prototype (for reference only):

stitchingLogLevel() -> retval
Link to this function

waveCorrect(rmats, kind)

View Source
@spec waveCorrect([Evision.Mat.maybe_mat_in()], integer()) ::
  [Evision.Mat.t()] | {:error, String.t()}

Tries to make panorama more horizontal (or vertical).

Positional Arguments
  • kind: WaveCorrectKind.

    Correction kind, see detail::WaveCorrectKind.

Return
  • rmats: [Evision.Mat].

    Camera rotation matrices.

Python prototype (for reference only):

waveCorrect(rmats, kind) -> rmats