ISampleGrabberCBインターフェイスを使ってGitHubでフレームデータをどのように取得するか
GitHub上でフレームデータを獲得するプロセスは、一般的に次の手順が含まれます。
- 関連するライブラリとモジュールをインポートする:
import cv2
import numpy as np
- SampleGrabberCallback クラスを定義し、ISampleGrabberCB インターフェイスを実装します。
class SampleGrabberCallback(object):
def __init__(self):
self.frame = None
def SampleCB(self, sample_time, sample_buffer):
# 处理视频帧数据
self.frame = np.frombuffer(sample_buffer, dtype=np.uint8).reshape((height, width, 3))
return 0
def BufferCB(self, sample_time, sample_buffer):
return 0
- SampleGrabberCallbackのインスタンスを作成し、ビデオフレームコールバック関数を設定します。
grabber_callback = SampleGrabberCallback()
grabber.SetCallback(grabber_callback)
- 動画フレームデータを逐次読み込む:
while True:
# 读取视频帧
ret, frame = cap.read()
# 处理视频帧数据
# ...
# 显示视频帧
cv2.imshow('Frame', frame)
# 按下q键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
これは一例ですが、具体的な目的合わせて編集したり拡張したりできます。特定のライブラリやモジュールを使用している場合は、具体的な実装方法が異なる場合があります。