画像内のオブジェクトを検出するのに大きな問題があります。このトピックはすでに多くのフォーラムで大いに議論されていることは知っていますが、過去 4 日間答えを探していましたが、できませんでした。
実際、ブランチからの写真があります ( http://cl.ly/image/343Y193b2m1c )。私の目標は、この写真のすべての針を数えることです. したがって、いくつかの問題に直面する必要があります。
背景から針で枝を分離します (この場合は問題ありません)。
針の境界を選択します。これは大きな問題です。すべての edge() 関数を含むさまざまな方法を試しましたが、問題は常に同じです-針の周りの境界が閉じられておらず、最後の問題につながります:
針が重なっている!これは、imfill() または等式を使用すると、針の代わりに埋められる「針の間の四角形」につながります。そして、針が集中している場所(1 か所に多くの針が集まっている場所)を区別することはほとんど不可能です。
私は流域を試し、コントラストを高めようとしました。色の小さな変化がすべて境界として認識されないように、針を少し「シャープに」するために、画像を少しフィルタリングして滑らかにすることも試みました(これは別の問題です)。
私はmatlabに比較的慣れていないので、何を探すべきかわかりません。Nuclei検出に使用されるMatLabチュートリアルに従おうとしましたが、これですべての緑色のオブジェクトを取得できます(一度にすべての針)。
この質問が以前に出てこなかったことを願っています。もしそうなら、二重投稿について深くお詫び申し上げます。何をすべきか、またはどのような方法を使用するかを誰かが知っていれば、それは素晴らしいことであり、この本当に悪い週の始まりを安全にするでしょう.
事前にどうもありがとうございました、
フィリップ