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
More information about the Python-list
mailing list