Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでOpenCVを使用してフレームを抽出するプログラム?


OpenCV(オープンソースコンピュータービジョン)は、基本的に機械学習とコンピュータービジョンのために開発されたオープンソースプログラミングライブラリです。コンピュータビジョンアプリケーションで動作し、商用製品での機械学習の使用を高速化するための共通のインフラストラクチャを提供します。

コンピュータービジョンと機械学習の両方に最適化された2.5千を超えるアルゴリズムは、古典的で最先端のアルゴリズムです。非常に多くのアルゴリズムを使用して、顔の検出と再編成、オブジェクトの識別、ビデオ内の人間の行動の分類、カメラの動きの追跡、画像の結合によるシーン全体の高解像度画像の生成など、さまざまな目的でライブラリを使用できます。

この演習では、フレームごとのビデオ処理を実装します。入力ビデオは、ライブカメラビデオまたはローカルマシンに保存されているビデオにすることができます。ローカルマシンに保存されているビデオからフレームを作成し、そのフレームをローカルドライブに保存します。

opencvは標準のPythonライブラリではないため、インストールする必要があります。 pipを使用して非常に簡単にインストールできます:

pip install opencv-python
Collecting opencv-python
Downloading https://files.pythonhosted.org/packages/49/4b/ad55a2e2c309fb698e1283e687129e0892c7864de9a4424c4ff01ba0a3bb/opencv_python-4.0.0.21-cp36-cp36m-win32.whl (22.1MB)
100% |████████████████████████████████| 22.1MB 141kB/s
Requirement already satisfied: numpy>=1.11.3 in c:\python\python361\lib\site-packages (from opencv-python) (1.13.0)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.0.0.21

ビデオファイルはf:ドライブに保存されます。これをフレーム(サムネイル)に変換してから、選択した場所にフレームを保存します。

PythonでOpenCVを使用してフレームを抽出するプログラム?

コード :ビデオファイルを読み取り、そこからフレームを抽出するプログラム。

#Import libraries
import cv2
import os
#Function to extract frames
def extractFrames(pathIn, pathOut):
   #directory path, where my video images will be stored
   os.mkdir(r'c:/users/rajesh/Desktop/data')
   #Capture vidoe from video file
   cap = cv2.VideoCapture(pathIn)
#Counter Variable
count = 0

while (cap.isOpened()):
   # Capture frame-by-frame
   ret, frame = cap.read()
   if ret == True:
      print('Read %d frame: ' % count, ret)
      # save frame as JPEG file
      cv2.imwrite(os.path.join(pathOut, "frame{:d}.jpg".format(count)), frame)
      count += 1
   else:
      break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
def main():
   extractFrames(r'f:/I Miss You.mp4' , 'data')
if __name__=="__main__":
   main()

出力

デスクトップ(宛先パス)にデータフォルダが作成され、ビデオのフレームがフォルダ内に保存されていることがわかります。

PythonでOpenCVを使用してフレームを抽出するプログラム?


  1. PythonでOpenCVを使用したテンプレートマッチング

    テンプレートマッチングは、パッチまたはテンプレートを実際の画像からマッチングできる手法です。これは基本的にパターンマッチングメカニズムです。 PythonにはOpenCVモジュールがあります。 openCVを使用すると、一致するものを簡単に見つけることができます。したがって、この問題では、OpenVCテンプレートマッチング手法が使用されます。 OpenCV機能を使用するには、 pipを使用してダウンロードする必要があります 。 sudo pip3 install opencv-python テンプレートマッチングタスクには、精度係数があります。この係数はしきい値と呼ばれます。一例とし

  2. PythonOpenCvを使用してリバースモードでビデオを再生する

    OpenCvの完全な形式はオープンソースのコンピュータービジョンであり、このライブラリを使用して、画像やビデオに対してさまざまな操作を実行できます。 OpenCVのアプリケーション領域 顔認識システム モーショントラッキング 人工ニューラルネットワーク ディープニューラルネットワーク ビデオストリーミングなど Windowsにインストールする場合は、このコマンドラインを使用できます pip install opencv-python Linuxの場合- sudo apt-get install python-opencv タスクを完了するには、いくつかの手順に従う必要