On Feb 18, 10:18 am, vaneric <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list