11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenCVAdvent Calendar 2024

Day 12

OpenCV の Elixir バインディング Evision の紹介

Posted at

プログラミング言語ElixirにもOpenCVを使えるようにするバインディングEvisionがあります.ElixirにおけるJupyter NoteにあたるLivebookでEvisionを使う方法について紹介します.

Livebookインストール方法

livebook.dev

下の Run on your machine で Mac もしくは Windows を選ぶか,Run in the cloud の Run on Hugging Face を選ぶ,あるいは,Linux等の場合は,check our READMEを選んで,Dockerで実行します.

Livebook

下記で + New notebook とします.

Livebook

Evision実行

Reconnect and setup をクリックして,下記を入れて実行します.

Mix.install([:evision, :kino])

これにより,Evisionと,Livebookで画像等を表示するプラグインであるKinoをインストールします.

正常に終了した後で,SectionのEvaluateのところに下記を入れて実行します.

Evision.imread("(お好きな画像へのPATH)")

Run Evision

基本的にcv.(メソッド名)と書くところをEvision.(関数名)とすれば,OpenCVプログラマであれば,大体直観的に動かせると思います.

Evisionの仕組み

Evisionの仕組みって結構巧みにできています.OpenCVのソースコードを読み込んで,Pythonバインディングのコードをパースすることで,インタフェースとC++ライブラリの呼び出すコードを取得し,ElixirとC++FFIのコードを自動生成するというような離れ技をやっているように思います.すごい技術力ですね!

11
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
11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?