1

私は OpenCV/Python を使用して水の端を検出しようと取り組んできましたが、得られた結果はかなり不正確であり、堅牢性はありません。これは私がこれまでに達成したものです: 元の画像、出力画像

キャニーエッジ検出

私が現在行っていることは、いくつかの変数 (ガウスぼかしのレベル、キャニー エッジ検出に使用されるシグマ、および測定されたレベルが各ポイント間で変化する可能性のある最大偏差) を設定し、「自動」キャニー エッジ検出を実行することです (ここで中央のピクセル強度が測定され、上下の境界を形成するために使用されます)、次に左下隅から上に移動して、最初の「白」ピクセルを見つけます。これは、フレーム全体の長さ 5 の x 間隔で行われます。

ポイントの平均 y 値が計算されます。次に、各ポイントをテストして、平均ピクセルからの偏差が大きすぎるかどうかを確認します。偏差の制限は以前に設定されています。残りの点は、画像上に青い線として描画されます。描画されたピクセルの平均値は、各フレームで記録されます。

30 フレーム後、平均の平均が計算され、赤い線として描画されます。これが「実際の」水位であると想定されます。

これを行うためのより良い方法について誰かアイデアがありますか? 水の端をより際立たせるにはどうすればよいでしょうか。この方法は、私が記録したほとんどの映像で機能しますが、結果は良くありません。

前もって感謝します。

4

1 に答える 1