tag:crieit.net,2005:https://crieit.net/boards/baseball-video-analysis/feed 「Pythonで動画解析をしていくボード」の投稿 - Crieit Crieitで「Pythonで動画解析をしていくボード」ボードに投稿された最近の投稿 2019-02-25T09:19:41+09:00 https://crieit.net/boards/baseball-video-analysis/feed tag:crieit.net,2005:PublicArticle/2-23 2019-02-24T00:31:15+09:00 2019-02-25T09:19:41+09:00 https://crieit.net/boards/baseball-video-analysis/2-23 2/23 動画解析始めました <h1>動画解析始めました</h1> <ul> <li>OpenCVでの動画保存</li> <li>OpenCVでのモーション解析</li> <li>dockerでPython環境を作ろうと思ったときに失敗したこと</li> </ul> <p>pythonは少し触ったことがある程度で、アルゴリズムは他の言語での下地があるのですが、理論的なところは画像処理止まりです。</p> <h1>OpenCVでの動画保存</h1> <p>VideoWriter(出力ファイルパス,エンコード種別,FPS,(動画サイズ))</p> <pre><code class="python">outFourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') out = cv2.VideoWriter(outputFile, outFourcc, 30.0 , (704, 396)) ..... out.write(resizedImage) </code></pre> <p>VideoWriterメソッドで指定した動画のサイズと実際に出力したフレームのサイズが異なると出力処理が失敗する。</p> <h1>モーション解析</h1> <div class="iframe-wrapper"><iframe width="560" height="315" src="https://www.youtube.com/embed/y2GwROf3fYg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div> <p>まだ写経段階の部分が多いです。写経したソースを編集して結果を動画に出力したり、動画出力をリサイズしたり。<br /> 野球の動画解析は特徴点解析よりはモーション解析の方が向いているようです。</p> <h1>dockerでPython環境を作ろうと思ったときに失敗したこと</h1> <h2>cannot connect to xserver</h2> <p>dockerのpythonイメージにはGUIライブラリが入っていないようです。google colaboratoryで試しても同じ結果になります。<br /> あれもdockerイメージを使っているらしいのですが。</p> <h3>対処法</h3> <p><code>cv2.imshow()</code>などのGUIを使うメソッドを使用しないようにする。<br /> ファイル出力などで結果を確認するようにする、などの対処法が挙げられていました。</p> <h1>ソースコード</h1> <p><a target="_blank" rel="nofollow noopener" href="https://github.com/ckoshien/OpenCVTest/blob/master/src/motion_template.py">GitHub</a></p> <h1>参考リンク</h1> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/otakoma/items/04216c60fa31eae60947">OpenCV(Python版)でテニスのボール軌道を検出する</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/hitomatagi/items/a4ecf7babdbe710208ae">OpenCVを使ったモーション テンプレート解析(リアルタイムに物体とその動く方向を認識する)</a></li> </ul> ckoshien