与えられた画像からポイントを抽出したい。画像を以下に示します。

私が欲しいポイントは、緑の上のポイントと赤いポイントです。ピクセルごとの比較を試しましたが、遅すぎます。より良いアルゴリズムが必要です。あなたの提案は何ですか?
与えられた画像からポイントを抽出したい。画像を以下に示します。

私が欲しいポイントは、緑の上のポイントと赤いポイントです。ピクセルごとの比較を試しましたが、遅すぎます。より良いアルゴリズムが必要です。あなたの提案は何ですか?
ポイントが常に中心から既知の半径にある場合は、円周上にあるポイントを確認するだけです。
ピクセルごとの比較に勝るものはありません。分割統治法を使用すると、緑色の線での検索速度を大幅に向上させることができます。
画像の幅がxで高さがの場合、 にあるすべてのピクセルで緑色のピクセルをy検索します。x={0...x},y={y/4,3*y/4}何も見つからない場合は、 に沿ってすべてのピクセルを検索しますx={x/4,3*x/4},y={0...y}。p座標で緑色のピクセルを見つけたらすぐpx,pyに、画像の中心から離れたそのピクセルの 2 ピクセルの近傍を検索します (つまり、が右上にある{px,py+1},{px+1,py}場合、左下にある場合、上にある場合)。左, またはが右下の象限にある場合.最初に見つかった緑の隣人になるように更新します. 緑の隣人がなくなるまで繰り返します. 最悪の場合、このアルゴリズムは です.p{px,py-1},{px-1,py}p{px,py+1},{px-1,py}p{px,py-1},{px+1,py}ppp~O(2*(x+y)+(1/2)*max(x,y)) ~= O(2.5*max(x,y)) ~= O(x)O(x*y){x,y}すべてのペアの色の値を確認するだけです。
ただし、赤い点を見つけるにはO(x*y)コストがかかりますが、単一の赤いピクセルを検索するコストを改善する唯一の方法は、画像をサブサンプリングし ( O(x*y))、次に画像全体 (現在O(sqrt(x*y))) を検索することです。赤いピクセル。
私はパーのアイデアが好きですが、2 つの点が画像の中心から常に同じ距離にある場合は、その半径の円周に沿ったピクセルを検索するだけで済みます!