2016-07-27 39 views
0

私はMatlabで画像のセグメンテーションを行っています。輪郭に垂直な線を見つける

ポイントとポイントの間の最大距離を計算するために、ポイントのセットに対して垂直なラインを見つける必要があります。
は、ここでの問題の例は次のとおり

Example of image

赤い点は、輪郭の凹面を表し、その点が輪郭の曲率から求めました。

ラインの限界である黒い線と緑の点が、私が探している結果を表示するために手動で描画されました。

次の作業は、線と黄色で強調表示されている輪郭の部分との間の最大距離を計算することです。

誰でも可能な解決策を提案できますか?

+1

ポイントのセットは何ですか?そして、点の集合に対して線*垂線とは何ですか? –

答えて

0

線を描くには、基本代数から覚えているように、その時点で関数の派生を取得するだけです。

これはちょうど有限の違いで行うことができますが、その点で微分を近似するために2点以上、たとえば5または7を使用することをお勧めします。次に、線を描くことy0,x0ポイント自体である

y-y0=f'(x) (x-x0) 

と同じくらい簡単です。あなたの輪郭の関数表現を持たないので、輪郭線との交差を計算するには、数値的にそれをチェックするのが最善の方法です。

さらに、コンターとその内部のすべてを含むバイナリイメージを作成し、白い塊の外にある行に点を持つimprofileを使用することができます。値が1に等しいので、パス上のラインの積分は、輪郭内のラインの全長になります。

EDIT:私は間違っていますが、私はあなたがラインの距離を望んでいましたが。ポイントとラインの距離は基本的な代数で、Googleはあなたの揚げ物です

関連する問題