わかりましたので、ヒストグラム (int の配列で表される) があり、局所的な最大値と最小値を見つけるための最良の方法を探しています。各ヒストグラムには 3 つのピークがあり、そのうちの 1 つ (最初のピーク) はおそらく他のピークよりもはるかに高くなります。
私はいくつかのことをしたい:
最初のピークに続く最初の「谷」を見つけます (図で最初のピークを完全に取り除くため)
残りの 2 つのピークの間で最適な「谷」の値を見つけて、画像を分離します。
Otsu のバリアントを実装することで、ステップ 2 を実行する方法を既に知っています。しかし、私はステップ1に苦労しています
残りの 2 つのピークの間の谷が十分に低くない場合は、警告を発したいと思います。
また、画像は非常にきれいで、考慮すべきノイズはほとんどありません
ステップ 1 と 3 を実行するブルート フォース アルゴリズムは何でしょうか? 大津を実装する方法を見つけることができましたが、数学的には力ずくで逃げています。結局のところ、otsu のようなメソッドの実行に関するドキュメントは多く、単純に山と谷を見つける方法に関するドキュメントはあまりありません。私は仕事を成し遂げる以上のものを探していません(つまり、それは一時的な解決策であり、より多くの時間を費やすことができるようになるまで、合理的な時間枠で実装可能でなければなりません)
私はこれをすべてC#でやっています
どの手順を実行するかについてのヘルプをいただければ幸いです。どうもありがとう!
編集: いくつかのデータ:
ほとんどのヒストグラムは最初のピークに似ており、最初のピークが背景を表しています。