OpenCV ライブラリを使用して草に塗られた白い線を検出するコードをいくつか書きました。私が使用したアプローチについて誰かの意見が必要です(私よりもはるかに良い方法があると確信しているため)。また、得られる結果は期待したほど良くはありません。これは、画像のわずかな変化にパラメーターを微調整する必要があるためです (固定パラメーターで操作する必要があります)。
これまでの私のアプローチ:
- ウェブカメラから画像を取得します(明らかにグレースケールに変換します)
- しきい値フィルターを介して実行します (THRESH_TO_ZERO モードを使用して、しきい値を下回るピクセルをすべてゼロにします)。
- 画像をぼかす
- エロージョンフィルターに通す
- Canny エッジ検出器で実行する
- 最後に、この処理された画像を取得し、確率的ハフ変換 HoughLinesP を使用して線を見つけます
フィルタの順序を変更する必要がありますか?
PS 処理能力についてはあまり気にしていません。GPU で HoughLinesP を実行しています B-)
また、サンプル画像は次のとおりです。
私が得ている結果: with canny
WITHOUT canny (わずかに微調整されたパラメーター)
ヘルプやガイダンスをいただければ幸いです。改善するために何をすればいいのかわからない!
更新
選択した回答に従って、非常に迅速なスケルトン実装(大量のぼかしを使用)を使用した後、次のようになりました。