# average of PIL images

7stud bbxx789_05ss at yahoo.com
Mon Feb 18 21:58:58 CET 2008

```On Feb 18, 10:18 am, vaneric <vaneric... at gmail.com> wrote:
> hi
> i have a set of RGB images of diff faces (of people )as a 2 dim
> numpyarray
> ..something like
> threefaces=array([[xa1,xa2,xa3],
>        [xb1,xb2,xb3],
>        [xc1,xc2,xc3]])
> where xa1,xa2,xa3 are  tuples each representing rgb values of a pixel
> of first image ..
>
> i need to create the average face image and display it.problem is i
> need to calculate (xa1+xb1+xc1)/3  etc to calculate avearge value of
> each pixel.how can i do this calculation.do i need to convert the
> r,g,b in to a single value for each pixel? the average value of a
> pixel will be a float isn't it? how can i create a PIL image from
> this?
> any help,directive greatly appreciated
> eric

import Numeric

arr = Numeric.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]
])

col1 = arr[0:,0]
print col1

sum = 0
count = 0
for num in col1:
sum += num
count += 1

avg = (sum * 1.0)/count   #convert one term to a float to get float
result
print avg
print round(avg)
print int(round(avg))

print arr[0]

size = len(arr[0])
for i in range(size):
col = arr[0:, i]
sum = 0
count = 0

for num in col:
sum += num
count += 1

result = (sum * 1.0) /count
print result,
result = int(round(result))
print result

--output:--
[ 1  4  7 10]
5.5
6.0
6
[1 2 3]
5.5 6
6.5 7
7.5 8

```