2017-11-20 7 views
1

画像のすべての偶数ピクセルをループするためには、forループを1つ使用する必要があります。私はこのコードに近づいていたと思うが、jythonはそれを気に入らず、なぜ(2番目のforループで何か)わからない。ループ(forループ)でもジャイモンの画像内のピクセル

for x in range(0, width): 
    for y in range(0, height): 
    px = getPixels(pic, x, y) 

ご協力いただければ幸いです。

ここに私のフルコードが役立ちます。プロジェクトのポイントは、すべての偶数ピクセルをサイズの半分の新しい空白のピクチャに移動して、ピクチャのサイズを変更することです。

def main(): 
    #Allows the user to pick a picture 
    pic = makePicture(pickAFile()) 
    show(pic) 
    #Finds the width and height of the selected picture 
    width = getWidth(pic) 
    height = getHeight(pic) 

    #Finds and divides width accordingly 
    if width % 2 == 0: 
     newW = width/2 
    else: 
     newW = width/2+1 

    #Finds and divides height accordingly 
    if height % 2 == 0: 
     newH = height/2 
    else: 
     newH = height/2+1 

for x in range(0, width, 2): 
    for y in range(0, height, 2): 
    px = getPixels(pic, x, y) 

答えて

0

y値のループをタブで移動しても問題になりませんか?このようなテキストを構造化すると問題は解決しますか? (ちなみに、range()関数に3番目のパラメータを追加すると、デフォルトの1ではなくステップ値を定義できます)。

for x in range(0, width, 2): 
    for y in range(0, height, 2): 
     px = getPixels(pic, x, y) 
+0

私はそれを私の質問のように構造化したと思いました。 3番目のパラメータについてのヒントをありがとう。私のエラーは、整数を予期していたメソッドに文字列を渡そうとしていると言います。エラーは3行目です。それは写真を参照していますか? – alfabravo313

+0

あなたが投稿したコードに基づいて、それが私が考えることができる唯一のエラーの原因になります。たぶんint(pic)を使ってintにキャストしようとしますか?私はそれ以上のことは分かりません。 – kylew