View Source Evision.DNN.TextRecognitionModel (Evision v0.2.9)

Summary

Types

t()

Type that represents an DNN.TextRecognitionModel struct.

Functions

Get the decoding method

Get the vocabulary for recognition.

Given the @p input frame, create input blob, run net and return the output @p blobs.

Given the @p input frame, create input blob, run net and return the output @p blobs.

Given the @p input frame, create input blob, run net and return recognition result

Given the @p input frame, create input blob, run net and return recognition result

Set the decoding method options for "CTC-prefix-beam-search" decode usage

Set the decoding method options for "CTC-prefix-beam-search" decode usage

Set the decoding method of translating the network output into string

Set flag crop for frame.

Set mean value for frame.

Set preprocessing parameters for frame.

Set preprocessing parameters for frame.

Set scalefactor value for frame.

Set input size for frame.

Set flag swapRB for frame.

Set output names for frame.

Set the vocabulary for recognition.

Variant 1:

Create text recognition model from network represented in one of the supported formats Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method

Create text recognition model from network represented in one of the supported formats Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method

Types

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

Type that represents an DNN.TextRecognitionModel struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

Link to this function

enableWinograd(named_args)

View Source
@spec enableWinograd(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

enableWinograd(self, useWinograd)

View Source
@spec enableWinograd(t(), boolean()) :: Evision.DNN.Model.t() | {:error, String.t()}

enableWinograd

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
  • useWinograd: bool
Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

enableWinograd(useWinograd) -> retval
Link to this function

getDecodeType(named_args)

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

Get the decoding method

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
Return
  • retval: string

@return the decoding method

Python prototype (for reference only):

getDecodeType() -> retval
Link to this function

getVocabulary(named_args)

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

Get the vocabulary for recognition.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
Return
  • retval: [string]

@return vocabulary the associated vocabulary

Python prototype (for reference only):

getVocabulary() -> retval
@spec predict(Keyword.t()) :: any() | {:error, String.t()}
@spec predict(t(), Evision.Mat.maybe_mat_in()) ::
  [Evision.Mat.t()] | {:error, String.t()}

Given the @p input frame, create input blob, run net and return the output @p blobs.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
  • frame: Evision.Mat
Return
  • outs: [Evision.Mat].

    Allocated output blobs, which will store results of the computation.

Python prototype (for reference only):

predict(frame[, outs]) -> outs
Link to this function

predict(self, frame, opts)

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

Given the @p input frame, create input blob, run net and return the output @p blobs.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
  • frame: Evision.Mat
Return
  • outs: [Evision.Mat].

    Allocated output blobs, which will store results of the computation.

Python prototype (for reference only):

predict(frame[, outs]) -> outs
@spec recognize(Keyword.t()) :: any() | {:error, String.t()}
@spec recognize(t(), Evision.Mat.maybe_mat_in()) :: binary() | {:error, String.t()}

Given the @p input frame, create input blob, run net and return recognition result

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • frame: Evision.Mat.

    The input image

Return
  • retval: string

@return The text recognition result

Python prototype (for reference only):

recognize(frame) -> retval
Link to this function

recognize(self, frame, roiRects)

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

Given the @p input frame, create input blob, run net and return recognition result

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • frame: Evision.Mat.

    The input image

  • roiRects: [Evision.Mat].

    List of text detection regions of interest (cv::Rect, CV_32SC4). ROIs is be cropped as the network inputs

Return
  • results: [string].

    A set of text recognition results.

Python prototype (for reference only):

recognize(frame, roiRects) -> results
Link to this function

setDecodeOptsCTCPrefixBeamSearch(named_args)

View Source
@spec setDecodeOptsCTCPrefixBeamSearch(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setDecodeOptsCTCPrefixBeamSearch(self, beamSize)

View Source
@spec setDecodeOptsCTCPrefixBeamSearch(t(), integer()) :: t() | {:error, String.t()}

Set the decoding method options for "CTC-prefix-beam-search" decode usage

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • beamSize: integer().

    Beam size for search

Keyword Arguments
  • vocPruneSize: integer().

    Parameter to optimize big vocabulary search, only take top @p vocPruneSize tokens in each search step, @p vocPruneSize <= 0 stands for disable this prune.

Return
  • retval: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

setDecodeOptsCTCPrefixBeamSearch(beamSize[, vocPruneSize]) -> retval
Link to this function

setDecodeOptsCTCPrefixBeamSearch(self, beamSize, opts)

View Source
@spec setDecodeOptsCTCPrefixBeamSearch(
  t(),
  integer(),
  [{:vocPruneSize, term()}] | nil
) ::
  t() | {:error, String.t()}

Set the decoding method options for "CTC-prefix-beam-search" decode usage

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • beamSize: integer().

    Beam size for search

Keyword Arguments
  • vocPruneSize: integer().

    Parameter to optimize big vocabulary search, only take top @p vocPruneSize tokens in each search step, @p vocPruneSize <= 0 stands for disable this prune.

Return
  • retval: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

setDecodeOptsCTCPrefixBeamSearch(beamSize[, vocPruneSize]) -> retval
Link to this function

setDecodeType(named_args)

View Source
@spec setDecodeType(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setDecodeType(self, decodeType)

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

Set the decoding method of translating the network output into string

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
  • decodeType: string.The decoding method of translating the network output into string, currently supported type:
    • "CTC-greedy" greedy decoding for the output of CTC-based methods
    • "CTC-prefix-beam-search" Prefix beam search decoding for the output of CTC-based methods
Return
  • retval: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

setDecodeType(decodeType) -> retval
Link to this function

setInputCrop(named_args)

View Source
@spec setInputCrop(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setInputCrop(self, crop)

View Source
@spec setInputCrop(t(), boolean()) :: Evision.DNN.Model.t() | {:error, String.t()}

Set flag crop for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • crop: bool.

    Flag which indicates whether image will be cropped after resize or not.

Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setInputCrop(crop) -> retval
Link to this function

setInputMean(named_args)

View Source
@spec setInputMean(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setInputMean(self, mean)

View Source
@spec setInputMean(t(), Evision.scalar()) ::
  Evision.DNN.Model.t() | {:error, String.t()}

Set mean value for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • mean: Evision.scalar().

    Scalar with mean values which are subtracted from channels.

Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setInputMean(mean) -> retval
Link to this function

setInputParams(named_args)

View Source
@spec setInputParams(Keyword.t()) :: any() | {:error, String.t()}
@spec setInputParams(t()) :: Evision.DNN.Model.t() | {:error, String.t()}

Set preprocessing parameters for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
Keyword Arguments
  • scale: double.

    Multiplier for frame values.

  • size: Size.

    New input size.

  • mean: Evision.scalar().

    Scalar with mean values which are subtracted from channels.

  • swapRB: bool.

    Flag which indicates that swap first and last channels.

  • crop: bool.

    Flag which indicates whether image will be cropped after resize or not. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )

Python prototype (for reference only):

setInputParams([, scale[, size[, mean[, swapRB[, crop]]]]]) -> None
Link to this function

setInputParams(self, opts)

View Source
@spec setInputParams(
  t(),
  [crop: term(), mean: term(), scale: term(), size: term(), swapRB: term()]
  | nil
) :: Evision.DNN.Model.t() | {:error, String.t()}

Set preprocessing parameters for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
Keyword Arguments
  • scale: double.

    Multiplier for frame values.

  • size: Size.

    New input size.

  • mean: Evision.scalar().

    Scalar with mean values which are subtracted from channels.

  • swapRB: bool.

    Flag which indicates that swap first and last channels.

  • crop: bool.

    Flag which indicates whether image will be cropped after resize or not. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )

Python prototype (for reference only):

setInputParams([, scale[, size[, mean[, swapRB[, crop]]]]]) -> None
Link to this function

setInputScale(named_args)

View Source
@spec setInputScale(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setInputScale(self, scale)

View Source
@spec setInputScale(t(), Evision.scalar()) ::
  Evision.DNN.Model.t() | {:error, String.t()}

Set scalefactor value for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • scale: Evision.scalar().

    Multiplier for frame values.

Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setInputScale(scale) -> retval
Link to this function

setInputSize(named_args)

View Source
@spec setInputSize(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setInputSize(self, size)

View Source
@spec setInputSize(
  t(),
  {number(), number()}
) :: Evision.DNN.Model.t() | {:error, String.t()}

Set input size for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • size: Size.

    New input size.

Return
  • retval: Evision.DNN.Model.t()

Note: If shape of the new blob less than 0, then frame size not change.

Python prototype (for reference only):

setInputSize(size) -> retval
Link to this function

setInputSize(self, width, height)

View Source
@spec setInputSize(t(), integer(), integer()) ::
  Evision.DNN.Model.t() | {:error, String.t()}

setInputSize

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • width: integer().

    New input width.

  • height: integer().

    New input height.

Return
  • retval: Evision.DNN.Model.t()

Has overloading in C++

Python prototype (for reference only):

setInputSize(width, height) -> retval
Link to this function

setInputSwapRB(named_args)

View Source
@spec setInputSwapRB(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setInputSwapRB(self, swapRB)

View Source
@spec setInputSwapRB(t(), boolean()) :: Evision.DNN.Model.t() | {:error, String.t()}

Set flag swapRB for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • swapRB: bool.

    Flag which indicates that swap first and last channels.

Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setInputSwapRB(swapRB) -> retval
Link to this function

setOutputNames(named_args)

View Source
@spec setOutputNames(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setOutputNames(self, outNames)

View Source
@spec setOutputNames(t(), [binary()]) :: Evision.DNN.Model.t() | {:error, String.t()}

Set output names for frame.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • outNames: [String].

    Names for output layers.

Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setOutputNames(outNames) -> retval
Link to this function

setPreferableBackend(named_args)

View Source
@spec setPreferableBackend(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setPreferableBackend(self, backendId)

View Source
@spec setPreferableBackend(t(), Evision.DNN.Backend.enum()) ::
  Evision.DNN.Model.t() | {:error, String.t()}

setPreferableBackend

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
  • backendId: dnn_Backend
Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setPreferableBackend(backendId) -> retval
Link to this function

setPreferableTarget(named_args)

View Source
@spec setPreferableTarget(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setPreferableTarget(self, targetId)

View Source
@spec setPreferableTarget(t(), Evision.DNN.Target.enum()) ::
  Evision.DNN.Model.t() | {:error, String.t()}

setPreferableTarget

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()
  • targetId: dnn_Target
Return
  • retval: Evision.DNN.Model.t()

Python prototype (for reference only):

setPreferableTarget(targetId) -> retval
Link to this function

setVocabulary(named_args)

View Source
@spec setVocabulary(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setVocabulary(self, vocabulary)

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

Set the vocabulary for recognition.

Positional Arguments
  • self: Evision.DNN.TextRecognitionModel.t()

  • vocabulary: [string].

    the associated vocabulary of the network.

Return
  • retval: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

setVocabulary(vocabulary) -> retval
Link to this function

textRecognitionModel(named_args)

View Source
@spec textRecognitionModel(Keyword.t()) :: any() | {:error, String.t()}
@spec textRecognitionModel(binary()) :: t() | {:error, String.t()}
@spec textRecognitionModel(Evision.DNN.Net.t()) :: t() | {:error, String.t()}

Variant 1:

Create text recognition model from network represented in one of the supported formats Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method

Positional Arguments
  • model: string.

    Binary file contains trained weights

Keyword Arguments
  • config: string.

    Text file contains network configuration

Return
  • self: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

TextRecognitionModel(model[, config]) -> <dnn_TextRecognitionModel object>

Variant 2:

Create Text Recognition model from deep learning network Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method

Positional Arguments
  • network: Evision.DNN.Net.t().

    Net object

Return
  • self: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

TextRecognitionModel(network) -> <dnn_TextRecognitionModel object>
Link to this function

textRecognitionModel(model, opts)

View Source
@spec textRecognitionModel(binary(), [{:config, term()}] | nil) ::
  t() | {:error, String.t()}

Create text recognition model from network represented in one of the supported formats Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method

Positional Arguments
  • model: string.

    Binary file contains trained weights

Keyword Arguments
  • config: string.

    Text file contains network configuration

Return
  • self: Evision.DNN.TextRecognitionModel.t()

Python prototype (for reference only):

TextRecognitionModel(model[, config]) -> <dnn_TextRecognitionModel object>