概要
wsl(wsl2じゃない)で、elixirやってみた。
Livebookでevision使ってみた。
参考にしたページ
写真
セットアップ
Mix.install([
{:req, "~> 0.3"},
{:evision, "~> 0.1"},
{:kino, "~> 0.10.0"},
{:nx, "~> 0.6"}
])
サンプルコード
#画像のダウンロード、表示
img = "https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png"
|> Req.get!()
|> Map.get(:body)
|> Evision.imdecode(Evision.Constant.cv_IMREAD_COLOR())
# リサイズ
img
|> Evision.resize({600, 400})
#グレースケール
img
|> Evision.cvtColor(Evision.Constant.cv_COLOR_BGR2GRAY())
#ぼかし
img
|> Evision.blur({15, 15})
#図形描画
img
|> Evision.rectangle({150, 120}, {225, 320}, {0, 0, 255},
thickness: 12,
lineType: Evision.Constant.cv_LINE_4()
)
#文字描画
img
|> Evision.putText("ohi", {250, 200},
Evision.Constant.cv_FONT_HERSHEY_SIMPLEX(),
2.5,
{0, 255, 0},
thickness: 5
)
#一連処理
img
|> Evision.resize({600, 400})
|> Evision.cvtColor(Evision.Constant.cv_COLOR_BGR2GRAY())
|> Evision.blur({15, 15})
|> Evision.rectangle({150, 120}, {225, 320}, {0, 0, 255},
thickness: 12,
lineType: Evision.Constant.cv_LINE_4()
)
|> Evision.putText("ohi", {250, 200},
Evision.Constant.cv_FONT_HERSHEY_SIMPLEX(),
2.5,
{0, 0, 255},
thickness: 5
)
|> dbg()
#nxに変換
nximg = img
|> Evision.cvtColor(Evision.Constant.cv_COLOR_BGR2RGB())
|> Evision.Mat.to_nx()
nximg
|> Kino.Image.new()
以上。