0

このための何かがすでに存在していると確信しているので、なぜ車輪の再発明をするのかを理解します。

画像のピクセルを左上から右下に向かって反復するアルゴリズムを知っている人はいますか。

したがって、最初にチェックします。(0, 0)

それで:(1, 0), (1, 1), (0, 1)

それで(2, 0), (2, 1), (2, 2), (1, 2), (0, 2)

... 等々....

この問題に対して最も効率的なアルゴリズムを探しています。

ありがとう。

4

1 に答える 1

3

次のように繰り返したいようです。

1 4 9
  ↑ ↑
2→3 8
    ↑
5→6→7

...

これは単なるforループです。

for radius in range(squareImage.width):
    for col in range(radius):
        yield (radius, col)
    for row in range(radius):
        yield (radius-row, radius)
    yield (0, radius)

ここでは効率は問題ではありません。すべてのピクセルにアクセスする必要があるため、(このように)ピクセル数の線形よりも優れた処理を行うことは不可能です。

于 2012-05-04T23:11:51.973 に答える