LoginSignup
1
0

wslでelixir その121

Last updated at Posted at 2023-12-16

概要

wsl(wsl2じゃない)で、elixirやってみた。
Livebookでevision使ってみた。

参考にしたページ

写真

image.png

セットアップ

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()



以上。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0