【Python】OpenCVのデモとプレゼンテーションを融合

2 min read読了の目安(約1900字

この投稿は「Qiita Python Advent Calendar 2020」の13日目の記事です。

はじめに

普段、以下みたいな画像処理とかディープラーニング(主にObject Detection)とかで遊んでいます。

そして何か作ったら、、、

LTとかで発表したくなります🦔
ただ、こーいうデモを発表の場でやると、個人的に色々気になるところが出てきます。

  • パワポとかPythonデモとかを行き来してモタモタする or 長い
  • 発表の時に限って発生するプログラムのエラー
  • そもそもスライドから切り替えてデモをするのが格好良くない ※個人の感想です
  • デモ動画をYouTubeにアップロードして発表時に再生するとwifi混みあってて動かない
  • 苦肉の策としてデモ動画をローカルに保存しておいて発表時に再生する
    →アリと言えばアリですが、そもそもスライドから切り替えてデモをするのが ※個人の感想です

とはいえ、、、

全てを解決するのは(僕の技術的に)難しいので、以下あたりを何とかしたいと思います。

  • パワポとかPythonデモとかを行き来してモタモタする or 長い
  • そもそもスライドから切り替えてデモをするのが格好良くない ※個人の感想です

以下2案を試作し、2020年にあった勉強会のLTとか社内発表でお試ししました。

  • Eel + WebSlides + OpenCV
  • Jupyter notebook + RISE + OpenCV

出来上がったもの①:Eel + WebSlides + OpenCV

NGK2020Sと言うイベントで紹介しつつ実演しました。
発表内で仕組みの説明やデモの実演をしています。

ソースコードは以下のリポジトリにコミットしています。
Kazuhito00/opencv2webslides-sample

作例

出来上がったもの②:Jupyter notebook + RISE + OpenCV

OSC2020 Online/Nagoyaと言うイベントで紹介しつつ実演しました。
こちらも、発表内で仕組みの説明やデモの実演をしています。

ソースコードは、Jupyter notebookでOpenCVのデモを流す部分のみですが、
以下のリポジトリにコミットしています。 ※RISEは別途の導入が必要です
Kazuhito00/opencv2webslides-sample

作例は公開出来るものがありませんでした。。。
(パラメータを変更しつつ実行出来る都合上、会社内での利用が主だったため)

おわりに

個人的な感触ですが、スライドからシームレスにデモの実演をするとウケが良いです。
(ただし、質疑応答タイムでの一発目の質問が「そのプレゼンはどうやって実現しているのですか?」になる弊害があります🦔

次はsimonritchieさんで「ビルトインのNotImplemented周りの記事。」です。