5
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?

More than 5 years have passed since last update.

機械学習で「動画の決定的瞬間をスクショに収める」アプリをつくった

Posted at

決定的瞬間を撮り忘れない仕組み

Maker Faire Tokyo 2020 にオンラインで参加しました。
初めて参加しましたが、いろんな工夫がされた作品が多くて楽しかったです。

中でも、良いなと思ったのが、これ。

image43.jpg

私も2歳のこどもがいますが、時々**「あーこの瞬間、映像に収めたかった」**っていうタイミングがあるんですよね。で、「もう1回やって!」というと、次はやってくれなかったり、ちょっと違う形になったりして、「あー残念。」と思うことがあります。

このふれAIレコーダーは、音声のみの録音ですが、それでもニーズあります。映像だともっといいと思いますけどね。

で、この「決定的瞬間を撮りたい」ってニーズってあるよなと思い、そこからインスピレーションを得て、自分が以前つくったものをバージョンアップさせてみました。

1人で「笑ってはいけないゲーム」を楽しむアプリ

以前、こんな記事を書きました。

一人笑ってはいけないゲームができるWEBアプリを機械学習でつくった

年末の「笑ってはいけない。」を1人で楽しめるアプリです。TeachableMachineで学習させた「笑顔」を認識すると、おなじみの「デデーン!!」の音が流れます。

そのアウト!の証拠写真を保存する。

ただ、このアプリを使った時、「えーいまの笑ってないでしょ!」って反発する人もいるかもしれません。

なので、一瞬でも笑ってしまったという証拠を捉えるために、その決定的瞬間をスクショに収める機能を実装しました。

それがこちらです。

ただ、スクショのタイミングが早すぎて、笑う前のスクショになってしまっている。。もう少し調整が必要そうです。

もしよろしければ、遊んでみてください。

【WEBアプリ】1人笑ってはいけないゲーム

※私の場合は、上の動画のように顔をかなり近づけた場合に限り、正確に診断できました。また、私の顔で認識しているので、他の方の顔で読み取ってくれるかまだ検証できていません。今後精度を高めていきます

スクショのダウンロードの仕方

本当はダウンロードボタンを実装しようとしたんですが、うまくいかなかったので、現状は、普通にスクショ画像を右クリックから画像を保存してください。

今後は、ダウンロードボタンと、twitterに簡単に共有できるものを作れたらいいかもしれませんね。

決定的瞬間をスクショに収める機能の作り方

まずhtml側のスクショを表示させたい場所に、以下を挿入します。

<canvas id="canvas"></canvas>

scriptタグ内に以下の関数を作り、if文(笑ったと認識した場合)の中で関数を実行させます。

const autoPhoto = function () {
  var $canvas = $('#canvas');

  $canvas.attr('width', video.videoWidth);
  $canvas.attr('height', video.videoHeight);
  $canvas[0].getContext('2d').drawImage(video, 0, 0, $canvas.width(), $canvas.height());
  $('#download').attr('href', $canvas[0].toDataURL('image/png'));                  
}

こちらの記事を参考につくりました。
canvasタグを使って動画のスクリーンショットを撮る方法

コード全文

こちらをご覧ください。

家族や友だちと過ごす年末を少しでも楽しく

今年はコロナでなかなか思うように外出できず、また帰省もしにくい日々を送っています。もしかしたら、年末もオンラインで家族や友だちと正月を迎える、ということもあるかもしれません。

そんな時に、このアプリでみなさんが少しでも楽しく過ごせたらなと思いますので、みんなが楽しめる精度に仕上げていきたいと思います。

5
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
5
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?