Seite 1 von 1

Spaltensummation von Bildern

Verfasst: Freitag 1. April 2011, 14:06
von degon
Hi,
ich habe ein Problem und zwar möchte ich ein Bild auslesen und dann die die Grauwerte der Spalten mitteln. In Matlab gab es damals einen einfachen Meanbefehl...Wenn ich eine Summe über nim.getpixel über width und height ausführe bekomme ich immer das Problem das ich über ein "int" nicht summieren kann. Das verstehe ich nicht.

Die Anzahl an Spalten muss gleich bleiben, nur letztlich sollte eine Zeile anschließend überbleiben die ich dann Plotten kann usw.

Code: Alles auswählen


import Image
im = Image.open('C:/testf.jpg')
nim = im.convert('L')
(width, height) = nim.size;   

Kann mir jemand bitte helfen? Ich möchte damit Strahlprofile von Kamerabildern analysieren.

Re: Spaltensummation von Bildern

Verfasst: Freitag 1. April 2011, 14:25
von degon
Ahhh habe gerade nochmal was in Numpy probiert:

Code: Alles auswählen


import Image
from numpy import *

im = Image.open('C:/testf.jpg')
nim = im.convert('L') 
(width, height) = nim.size;  
z = array(nim);
zsum = z.sum(0); 
zm = zsum/height


Liege ich jetzt damit richtig ? Eine Frage ist hinzugekommen, warum kann ich (width, height) = nim.size; aber nicht (width, height) = nim.size(); eingeben?

Re: Spaltensummation von Bildern

Verfasst: Freitag 1. April 2011, 14:29
von BlackJack
@degon: Size ist halt ein Attribut was man nicht aufrufen kann. Würdest Du die Frage auch hier stellen warum ``a()`` eine Ausnahme auslöst:

Code: Alles auswählen

a = (1, 2)
a()
Und die Ausnahme erklärt es doch eigentlich schon warum das so ist.

Re: Spaltensummation von Bildern

Verfasst: Freitag 1. April 2011, 19:18
von HerrHagen
Liege ich jetzt damit richtig ?
Ja. Es gibt übrigens auch ein passendes scipy package (d.h. kann mit numpy-arrays gefüttert werden) für Bildverarbeitung http://docs.scipy.org/doc/scipy/reference/ndimage.html

Re: Spaltensummation von Bildern

Verfasst: Freitag 1. April 2011, 19:26
von HerrHagen
Wenn du Matlab magst, dann ist sicher auch Matplotlib was für dich (falls du es noch nicht kennst):http://matplotlib.sourceforge.net/

Re: Spaltensummation von Bildern

Verfasst: Samstag 2. April 2011, 12:00
von gkuhl
matplotlib bietet noch einen direkten Weg:

Code: Alles auswählen

from matplotlib.image import imread
img = imread('test.png')
img = img.mean(0)
Grüße
Gerrit