この質問には、どのような種類のプログラミング言語でも答えることができます。なぜなら、アルゴリズムの助けが必要だからです。しかし、私は Delphi の方が好きです。ランダムな画像の複数の形状 (1 から N - ほとんどが円形または楕円形) を検出してカウントし、それらの中央を計算して画像の座標として返すというタスクがあります。各形状の中央には塗りつぶしを入れることができます (ただし、問題ありません)。形状は、互いに少なくとも 1 ピクセル以上離れています。どの形状も、別の形状や写真の隅に溶け込むようなものではありません。画像の背景には常に同じ背景色がありますが、実際には問題ではありません。これは、図形の境界線/フレームが背景と比較して常に異なる色であるためです。これにより、形状の検出が容易になります。ピクセルごとに行って座標を収集し、すべての形状の周りに目に見えない長方形/正方形のように描画して、中央を計算することを考えていました。その後、スキャンラインについても聞きましたが、この場合は高速になるとは思いません。だから私の質問は、どのように計算できるかです:
- 絵の中にいくつの形がありますか。
- それらの正確な中央を(多かれ少なかれ)どのように計算できますか。
タスクを視覚化するためのいくつかの写真:
これはランダムな形状 (ほとんどが円) の写真です。
次に、すべての形状の周りに架空の長方形/正方形を簡単に描画/計算し、その中央を次のように計算できます。
長方形/正方形を取得した後。真ん中は簡単に計算できます。どうすれば始められますか?
PS .: mspaint でいくつかの円を描きました。すべての図形が閉じていることを付け加える必要があります。これにより、画像内のすべての図形を問題なく塗りつぶすことができます。
ご協力ありがとうございました。