Packages
evision
0.2.17
1.0.1-rc.0
1.0.0
1.0.0-rc.0
0.2.17
0.2.17-rc2
0.2.17-rc1
0.2.16
0.2.16-pre.2
0.2.16-pre
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.2-rc2
0.2.1
0.2.0
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
retired
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.26-rc3
0.1.26-rc2
0.1.26-rc1
0.1.26-rc0
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
OpenCV-Erlang/Elixir binding.
Current section
Files
Jump to
Current section
Files
lib/zoo/text_detection/text_detection.ex
defmodule Evision.Zoo.TextDetection do
@moduledoc """
Text detection model collection.
"""
@modules %{
"db_ic15_resnet18" => Evision.Zoo.TextDetection.DB,
"db_ic15_resnet50" => Evision.Zoo.TextDetection.DB,
"db_td500_resnet18" => Evision.Zoo.TextDetection.DB,
"db_td500_resnet50" => Evision.Zoo.TextDetection.DB,
"ppocrv3_en" => Evision.Zoo.TextDetection.PPOCRV3,
"ppocrv3_en_int8" => Evision.Zoo.TextDetection.PPOCRV3,
"ppocrv3_cn" => Evision.Zoo.TextDetection.PPOCRV3,
"ppocrv3_cn_int8" => Evision.Zoo.TextDetection.PPOCRV3
}
@module_list Enum.uniq(Map.values(@modules))
def modules, do: @modules
def module_list, do: @module_list
def id, do: "text_detection"
def label, do: "Text detection"
def smartcell_tasks do
%{
id: id(),
label: label(),
variants: Enum.reduce(module_list(), [], fn module, acc -> module.smartcell_tasks() ++ acc end)
}
end
@doc """
Generate quoted code from smart cell attrs.
"""
@spec to_quoted(map()) :: list()
def to_quoted(%{"task_id" => "text_detection", "variant_id" => variant_id} = attrs) do
module = Map.get(modules(), variant_id)
if module do
module.to_quoted(attrs)
else
[]
end
end
end