Current section

Files

Jump to
evision lib evision_highgui.ex
Raw

lib/evision_highgui.ex

defmodule Evision.HighGui do
@moduledoc """
OpenCV High-level Graphical User Interface
"""
import Evision.Errorize
@doc """
Show a mat in a named window
- **winname**. The name of the window.
- **mat**. The image.
## Example
```elixir
{:ok, mat} = Evision.imread("example.jpg")
Evision.imshow("OpenCV", mat)
# the following line may be necessary on your system
# will try to improve this later
Evision.waitkey(0)
```
"""
@doc namespace: :"cv.highgui"
def imshow(winname, mat) when is_binary(winname) do
:evision_nif.imshow(winname: winname, mat: mat)
end
deferror(imshow(winname, mat))
@doc """
wait for user keyboard event for a `delay` amount of time (ms)
"""
@doc namespace: :"cv.highgui"
def waitkey(delay) when is_integer(delay) do
:evision_nif.waitKey(delay: delay)
end
deferror(waitkey(delay))
@doc """
close a named window
"""
@doc namespace: :"cv.highgui"
def destroyWindow(winname) when is_binary(winname) do
:evision_nif.destroyWindow(winname: winname)
end
deferror(destroyWindow(winname))
@doc """
close all windows
"""
@doc namespace: :"cv.highgui"
def destroyAllWindows do
:evision_nif.destroyAllWindows()
end
deferror(destroyAllWindows())
end