2016-10-11 12 views
0

処理をPythonモードで使用して、画像を読み込んで計算します。一般的な考え方である:1920×1200のオーダーの小さい画像用Pyピクセル処理[]配列に大きな画像のすべてのピクセルが含まれていません

def setup(): 
    global maxx, maxy 
    maxx = 0 
    maxy = 0 

    # load the image 
    global img 
    img = loadImage("img.jpg"); 

    maxx = img.width 
    maxy = img.height 

def draw(): 
    image(img, 0, 0); 

def mousePressed(): 
    calc() 

def calc(): 
    height = int(img.height) 
    width = int(img.width) 
    print "width: " + `width` 
    print "height: " + `height` 
    print "width*height: " + `width*height` 

    # iterate over the input image 
    loadPixels() 
    print "length of pixels array: " + `len(pixels)` 

    # ... do stuff with the image 

、「幅*高さ」と「ピクセルアレイの長さ」とは、同じです。 3025×2009のような大きな画像の場合、ピクセル配列の長さはかなり短くなります。 3025 x 2009の例については違いがある:
幅*高さ:ピクセル配列の6077225 長さ:3944600

に行くかもしれないものを任意のアイデアは?

+0

)正しいピクセルを取得します...

def calc(): height = int(img.height) width = int(img.width) print "width: " + 'width' print "height: " + 'height' print "width*height: " + 'width*height' # iterate over the input image img.loadPixels() print "length of pixels array: " + 'len(img.pixels)' 

は、私がloadPixels(上のより多くの研究の後に、この答えを更新しますIMGでloadPixelを呼び出しますアレイ?そのイメージはどのように見えますか? –

+0

@KevinWorkmanは応答に感謝します。あなたが示唆したように画像にピクセルを書き込もうとして、より明示的に問題を解決することが分かった。 img.loadPixels() print "ピクセル配列の長さ:" + 'len(img.pixels)' – raf

答えて

1

デバッグでは、問題が見つかりました。あなたは、そのピクセルと新しいイメージを作成しようとするとどうなります

関連する問題