View Source Evision.CUDA.Convolution (Evision v0.2.9)

Summary

Types

t()

Type that represents an CUDA.Convolution struct.

Functions

Clears the algorithm state

Variant 1:

Computes a convolution (or cross-correlation) of two images.

Variant 1:

Computes a convolution (or cross-correlation) of two images.

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read

Reads algorithm parameters from a file storage

Stores algorithm parameters in a file storage

Types

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

Type that represents an CUDA.Convolution struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

@spec clear(Keyword.t()) :: any() | {:error, String.t()}
@spec clear(t()) :: t() | {:error, String.t()}

Clears the algorithm state

Positional Arguments
  • self: Evision.CUDA.Convolution.t()

Python prototype (for reference only):

clear() -> None
@spec convolve(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

convolve(self, image, templ)

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

Variant 1:

Computes a convolution (or cross-correlation) of two images.

Positional Arguments
  • self: Evision.CUDA.Convolution.t()

  • image: Evision.Mat.

    Source image. Only CV_32FC1 images are supported for now.

  • templ: Evision.Mat.

    Template image. The size is not greater than the image size. The type is the same as image .

Keyword Arguments
  • ccorr: bool.

    Flags to evaluate cross-correlation instead of convolution.

  • stream: Evision.CUDA.Stream.t().

    Stream for the asynchronous version.

Return
  • result: Evision.Mat.t().

    Result image. If image is W x H and templ is w x h, then result must be W-w+1 x H-h+1.

Python prototype (for reference only):

convolve(image, templ[, result[, ccorr[, stream]]]) -> result

Variant 2:

Computes a convolution (or cross-correlation) of two images.

Positional Arguments
  • self: Evision.CUDA.Convolution.t()

  • image: Evision.CUDA.GpuMat.t().

    Source image. Only CV_32FC1 images are supported for now.

  • templ: Evision.CUDA.GpuMat.t().

    Template image. The size is not greater than the image size. The type is the same as image .

Keyword Arguments
  • ccorr: bool.

    Flags to evaluate cross-correlation instead of convolution.

  • stream: Evision.CUDA.Stream.t().

    Stream for the asynchronous version.

Return
  • result: Evision.CUDA.GpuMat.t().

    Result image. If image is W x H and templ is w x h, then result must be W-w+1 x H-h+1.

Python prototype (for reference only):

convolve(image, templ[, result[, ccorr[, stream]]]) -> result
Link to this function

convolve(self, image, templ, opts)

View Source
@spec convolve(
  t(),
  Evision.Mat.maybe_mat_in(),
  Evision.Mat.maybe_mat_in(),
  [ccorr: term(), stream: term()] | nil
) :: Evision.Mat.t() | {:error, String.t()}
@spec convolve(
  t(),
  Evision.CUDA.GpuMat.t(),
  Evision.CUDA.GpuMat.t(),
  [ccorr: term(), stream: term()] | nil
) :: Evision.CUDA.GpuMat.t() | {:error, String.t()}

Variant 1:

Computes a convolution (or cross-correlation) of two images.

Positional Arguments
  • self: Evision.CUDA.Convolution.t()

  • image: Evision.Mat.

    Source image. Only CV_32FC1 images are supported for now.

  • templ: Evision.Mat.

    Template image. The size is not greater than the image size. The type is the same as image .

Keyword Arguments
  • ccorr: bool.

    Flags to evaluate cross-correlation instead of convolution.

  • stream: Evision.CUDA.Stream.t().

    Stream for the asynchronous version.

Return
  • result: Evision.Mat.t().

    Result image. If image is W x H and templ is w x h, then result must be W-w+1 x H-h+1.

Python prototype (for reference only):

convolve(image, templ[, result[, ccorr[, stream]]]) -> result

Variant 2:

Computes a convolution (or cross-correlation) of two images.

Positional Arguments
  • self: Evision.CUDA.Convolution.t()

  • image: Evision.CUDA.GpuMat.t().

    Source image. Only CV_32FC1 images are supported for now.

  • templ: Evision.CUDA.GpuMat.t().

    Template image. The size is not greater than the image size. The type is the same as image .

Keyword Arguments
  • ccorr: bool.

    Flags to evaluate cross-correlation instead of convolution.

  • stream: Evision.CUDA.Stream.t().

    Stream for the asynchronous version.

Return
  • result: Evision.CUDA.GpuMat.t().

    Result image. If image is W x H and templ is w x h, then result must be W-w+1 x H-h+1.

Python prototype (for reference only):

convolve(image, templ[, result[, ccorr[, stream]]]) -> result
@spec empty(Keyword.t()) :: any() | {:error, String.t()}
@spec empty(t()) :: boolean() | {:error, String.t()}

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read

Positional Arguments
  • self: Evision.CUDA.Convolution.t()
Return
  • retval: bool

Python prototype (for reference only):

empty() -> retval
Link to this function

getDefaultName(named_args)

View Source
@spec getDefaultName(Keyword.t()) :: any() | {:error, String.t()}
@spec getDefaultName(t()) :: binary() | {:error, String.t()}

getDefaultName

Positional Arguments
  • self: Evision.CUDA.Convolution.t()
Return

Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.

Python prototype (for reference only):

getDefaultName() -> retval
@spec read(Keyword.t()) :: any() | {:error, String.t()}
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}

Reads algorithm parameters from a file storage

Positional Arguments

Python prototype (for reference only):

read(fn) -> None
@spec save(Keyword.t()) :: any() | {:error, String.t()}
@spec save(t(), binary()) :: t() | {:error, String.t()}

save

Positional Arguments
  • self: Evision.CUDA.Convolution.t()
  • filename: String

Saves the algorithm to a file. In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).

Python prototype (for reference only):

save(filename) -> None
@spec write(Keyword.t()) :: any() | {:error, String.t()}
@spec write(t(), Evision.FileStorage.t()) :: t() | {:error, String.t()}

Stores algorithm parameters in a file storage

Positional Arguments

Python prototype (for reference only):

write(fs) -> None
@spec write(t(), Evision.FileStorage.t(), binary()) :: t() | {:error, String.t()}

write

Positional Arguments

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None