1

私は、画像をスキャンし、その画像から一種のヒストグラムを作成し、ユーザーが事前定義されたポイント数のベースラインをドラッグできるようにするAndroidアプリケーションを作成しています。これらの部分は完成しましたが、スキャンした画像から1000程度のポイントと、設定された間隔で任意の数のポイントで構成されるユーザー定義のベースラインとの間の積分を推定できる必要があります(おそらく最大/最小がどこにあるか、および変曲点を決定するアルゴリズム)。ポイントの各配列は1本の線を定義します。

Point []配列を取り、2つの線の間の推定面積を見つける既存のライブラリはありますか?または、これを処理するために自分でカスタムアルゴリズムを作成する必要がありますか?私はapacheの一般的な数学を見ましたが、積分を見つけるには数学関数を渡す必要があるようでした。

編集:
1行目は約1000ポイントの配列です(画像の解像度によって異なります){(0,5)、(1,10)、(2,11)、(3,9)、....(1000,12 )}

2行目は5ポイントになる可能性があります(ユーザーが決定します):{(0,5)、(250,9)、(500,7)、(750,8)、(1000,5)}

実際のy値ははるかに大きくなりますが、これが一般的な考え方です。

4

2 に答える 2

3

あなたが何を望んでいるかを完全に理解しているかどうかはわかりませんが、画像から得られた点とベースラインを描いたユーザーからの点によって定義されたポリゴンの領域を見つけたい場合は、この非常に単純な方程式を使用できます。交差しないポリゴンの領域

于 2011-07-27T14:46:15.747 に答える
1

あなたが何を望んでいるのかわかりません。

しかし、私は2つのことを考えました:

ヒストグラムの積分を計算する場合は、n点(xi、yi = f(xi))からリーマン積分を使用して値を取得できます。

次の式で: ここに画像の説明を入力してください

それらは、ヒストグラムなどの代わりに台形のようなRienmann積分の他の表現です...

たとえば、ti=(xi+xi+1)/2台形を取得する場合

その他の可能性:

多項式を使用して、1000個の値を補間できます。

すべての(xi、yi)ポイントに対してf(xi)=yiとなるような関数fを取得します。

次に、多項式関数の積分を計算します(明示的なプリミティブを見つけることができるので簡単です)

Pが多項式の場合

私は積分

pPのプリミティブ

I = p(xmax)-p(xmin)

ノート:

2行ある場合は、一方の積分をもう一方の積分から差し引くだけです。

私が質問を理解し、それが役立つことを願っています

于 2011-07-27T14:38:30.550 に答える