出発点として、基本的な画像の減算を使用してそこから取得することをお勧めします。 、形態学的処理のために
firstFrame = readFrame()
firstFrameGrey = convertToGreyScale(firstFrame) // makes the image B&W
while True
secondFrame = readFrame()
secondFrameGrey = convertToGreyScale(secondFrame)
difference = sub(firstFrameGrey, secondFrameGrey)
threshold()
// perform some morphological operations
erosion()
dilation()
findContours()
// loop over contours and try filtering based off of area, perimeter etc.
// This filtration will allow you to detect significant changes.
// update frame
firstFrameGrey = secondFrameGrey
異なる値と実験とあなたが得る結果何を参照してください。
基本的なアルゴリズムがあります。 thresholding
Thisチュートリアルの
詳細情報は、形態学的操作を実行する方法について説明します。
輪郭情報は、アルゴリズムは自明であるべきで、OpenCVのは、私が名前のすべてのメソッドを持っているarea API
とともにhereを見つけることができます。
私はあなたを正しく理解していれば、ビデオ処理フレームワークを使用して動きを検出することはできますが、ビデオは不要ですか? – eshirima
はい。基本的に私はウィンドウを通してモーションを検出する必要があります。私はビデオを使用していない。私は、スリープモードから動作を検出するとスリープモードになるようにデバイスを起動する必要があります。 –
私はあなたが望むものを達成することはできないと考えています。動きを判断するために何らかの分析を実行するには、何らかの入力またはセンサーフィードが必要です。ビデオを使用したくない場合は、 [モーションセンサー](https://www.safewise.com/resources/motion-sensor-guide)。 – eshirima