プレゼン動画からスライド部分を自動的にスクリーンショットし、それをパワーポイントに1ページずつ貼り付ける自動化のプロセスには、画像処理とPPT生成の技術を組み合わせることが必要です。手順と必要なツール、またチェックリストやアイデアをまとめました。


1. 必要なもの

  • Python: 自動化スクリプトの作成

  • OpenCV: 動画のフレーム抽出と画像処理(Pythonライブラリ)

  • Pillow: Pythonでの画像処理ライブラリ

  • PyAutoGUI または PyTesseract: 発表スライド部分の抽出補助と認識用

  • python-pptx: PowerPointファイルの作成と編集

2. 自動化方法の詳細

ステップ1: 動画のフレーム抽出

  1. import cv2

cap = cv2.VideoCapture("presentation_video.mp4")
frame_rate = 1 # 1フレーム毎にキャプチャ
count = 0
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
if int(cap.get(cv2.CAP_PROP_POS_FRAMES)) % frame_rate == 0:
cv2.imwrite(f"frame{count}.jpg", frame)
count += 1
cap.release()

ステップ2: スライド部分の抽出

  1. スライド領域の認識: 発表者がスライド以外に表示されている場合、OpenCVやPyAutoGUIを使って顔や背景色でスライド領域を除外し、スライドのみの領域をトリミング。

  2. スライドのフィルタリング: PyTesseractなどで、重複するスライド(同じ画像が続く場合)を検出し、1枚だけ保存。

ステップ3: PowerPointファイルに貼り付け

  1. from pptx import Presentation
    from pptx.util import Inches

prs = Presentation()
slide_layout = prs.slide_layouts[5] # 白紙スライドレイアウト
image_files = ["frame0.jpg", "frame1.jpg"] # 保存した画像ファイルリスト
for image_file in image_files:
slide = prs.slides.add_slide(slide_layout)
slide.shapes.add_picture(image_file, Inches(0), Inches(0), width=prs.slide_width)
prs.save("output_presentation.pptx")

ここから先は

2,610字

¥ 1,000

期間限定!Amazon Payで支払うと抽選で
Amazonギフトカード5,000円分が当たる

この記事が気に入ったらチップで応援してみませんか?