2

私は、角度0から360まで時計回りに重心までの距離に基づいて、形状から時系列を抽出することに取り組んできました。

[1,0]に対する角度に基づいて輪郭点を配置する私の実装では、ベクトルは一部の形状には適している場合がありますが、明瞭度の高い形状には役立ちません。次のコードを検討してください。

im = Image.open(os.path.join(path、filename))

im = im.filter(ifilter.MedianFilter)

contim = im.filter(ifilter.CONTOUR)

contim = contim [1:-1,1:-1]#これは、境界線がここで等高線として抽出されるためです。

contpts = np.where(contim == 0)

contpts = np.vstack((contpts [0]、contpts [1]))#これらの点を形状の重心に対して時計回りに配置する必要があります

ある点から始めて輪郭に沿って進み、形状の重心までのすべての距離を抽出できる任意の形状からその特徴を抽出する方法を誰かに教えてもらえますか?

この機能の詳細については、次のペーパーを参照してください。「LB_Keoghは、任意の表現と距離測度を使用した回転不変性下での形状の正確なインデックス作成をサポートします」

4

1 に答える 1

0

私が理解していれば、離散化された平面にマトリックスとして表された幾何学的図形があります。エントリが 1 の場合、図の中にいます。0 の場合は、屋外です。彼は、エッジ内のすべてのポイントについて、図形のエッジと図形の中心の間の距離を決定したいと考えています。彼はそれを極座標系でパラメータ化しました。図の中心が原点であり、角度の関数として境界までの距離を取得したいと考えています。これが彼の「時系列」と呼ばれるものです。

これは正しいです?

もしそうなら、あなたはただできませんでした:

1. determine the center of mass,
2. reposition the origin to match the center of mass. 
3. start angle at 0
4. r = 0
5. for each angle in [0,1,...,360] 
      1. If you're in inside the figure, increase r until you reach the border. 
      2. If you're outside the figure, decrease r until you reach the border.
      3. When you reach the border, d(angle) = r

図形に多かれ少なかれ連続した境界線がある場合、これは輪郭に従います。

これは機能しますか?

于 2011-12-24T16:01:44.133 に答える