Packages
evision
0.1.33
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/evision_highgui.ex
defmodule Evision.HighGui do
@moduledoc """
High-level Graphical User Interface
"""
@doc """
Show a mat in a named window
#### Positional Arguments
- **winname**. `String`
The name of the window.
- **mat**. `Evision.Mat`
The image.
#### Example
```elixir
iex> mat = Evision.imread!("example.jpg")
iex> Evision.imshow("OpenCV", mat)
# the following line may be necessary on your system
# will try to improve this later
iex> Evision.waitkey(0)
```
"""
@doc namespace: :"cv.highgui"
@spec imshow(String.t(), Evision.Mat.maybe_mat_in() | Nx.Tensor.t()) ::
:ok | {:error, String.t()}
def imshow(winname, mat) when is_binary(winname) and (is_reference(mat) or is_struct(mat)) do
mat = Evision.Internal.Structurise.from_struct(mat)
:evision_nif.imshow(winname: winname, mat: mat)
end
@doc """
Wait for user keyboard event for a `delay` amount of time (ms)
#### Positional Arguments
- **delay**. `int`
Wait for `delay` ms.
"""
@doc namespace: :"cv.highgui"
@spec waitKey(integer()) :: :ok | {:error, String.t()}
def waitKey(delay) when is_integer(delay) do
:evision_nif.waitKey(delay: delay)
end
@doc """
Close a named window
#### Positional Arguments
- **winname**. `String`
The name of the window.
"""
@doc namespace: :"cv.highgui"
@spec destroyWindow(String.t()) :: :ok | {:error, String.t()}
def destroyWindow(winname) when is_binary(winname) do
:evision_nif.destroyWindow(winname: winname)
end
@doc """
Close all windows
"""
@doc namespace: :"cv.highgui"
@spec destroyAllWindows() :: :ok
def destroyAllWindows do
:evision_nif.destroyAllWindows()
end
end