2016-08-10 17 views
0

2次元の離散点のセットがあります。これは、内部領域、または単純に長さと高さを計算する必要はありません。しかし、この質問のポイントは、必ずしも内面を形作る鋭いエッジを有するとは限らない。私はコマンドboundaryinpolygonを試しましたが、この問題の正しいものではないようです。円弧や半円のような直線的なエッジを持たないエッジについてはどうでしょうか。Matlabの離散点の面積を計算する

https://drive.google.com/file/d/0B-DuVkE6qbU3ZnJsbWdQNjVmVkk/view?usp=sharing

リンクの内部に設けられたファイル:

  • は、ファイル1は、XYZ座標プラス強度から成る(レーザによって付属データをスキャン)
  • 値ファイル2は、XYZ座標プラス強度から成りすべてのZ値と輝度値はファイルを通して固定されます。
  • 図1-1,1-2,1-3,1-4は、関連する強度値を持つ3Dのデータを表しています。強度値が異なると、異なる材料が表示されます。白い矢印はセグメントの異なる部分の深さを示しています。
  • 図2-1,2-2は、強度値が1つのみの2Dのデータを表しています。実際には、このステップで3Dデータが2Dに投影され、すべての輝度値が1つの値に変更されました。さらに、ウィンドウの内部部分が削除されました。内部部品の面積は、計算する関心のものです。

私にとっては挑戦です!誰でも助言してもらえますか?

+1

ポイントは、定義により、ゼロのものですエリア。あなたが何か他のことを意味し、あなたがそれを見せていない限り。この画像処理はありますか?イメージを見ることはできますか?何を試しましたか? –

+0

ポイントやアスキーファイルのスクリーンショットをアップロードする方法を教えてください。実際には、画像構造ではなく、ピクセル形式ではない。それは単なる離散点であり、x、y座標を意味するが、明らかに接続されていない。 – Sophia

+0

質問エディタに画像をアップロードするボタンがあります。または、外部サイトに画像をアップロードしてリンクを提供することもできます(リンク用のボタンもあります) –

答えて

0

たぶん、あなたはユニークな「オブジェクト」を得るためにimcloseimdilateまたはimerode機能を使用することができ、その後、あなたの実装に応じて、0または255からdiferentすべての値を合計することによって、面積を計算することができます。私は画像が白黒であると仮定しています。そうでなければ最初に変換します。 MATLABドキュメント:

+0

親愛なるRCaetano、私はデータへのリンクを提供しましたが、問題の詳細な説明もあります。 – Sophia

+0

画像の問題ではありません。アスキーファイルには、xyz座標と強度値があります。強度は、マテリアルなどのいくつかのパラメータに関連するポイントの特性です。 – Sophia

0

あなたのポイントは、ポリゴンの頂点座標である場合は、あなたがの面積を返すためにpolyareaを使用することができますそのポリゴン。

例:アカウントで

Area = polyarea(pointsX, pointsY) 

テイクポイント物質の順いる、と彼らは有効な多角形を形成しなければならない(セグメントが交差していなければなりません)

+0

親愛なるSembeiさん、データへのリンクを提供しましたが、問題の詳細な説明もあります。 – Sophia

+0

asciiファイルで見ることができるように、asciiファイルを構築するために記録されたポイントの間に特定の順序はありません。彼らはランダムに記録されています。 – Sophia

+0

Z座標(深度)にしきい値を設定できます。特定の深さのオブジェクトを持つバイナリイメージで終了します。バイナリイメージを取得したら、それをクリーニングするために何らかの形態が必要になりますし、 'bwarea'を使うことができます。 http://ch.mathworks.com/help/images/ref/bwarea.html –

関連する問題