Jun-26-2018, 04:55 PM
(Jun-26-2018, 03:40 PM)Larz60+ Wrote: I'll give it a go.
import numpy as np from PIL import Image import math #np.seterr(divide='ignore', invalid='ignore') image=Image.open('E:/test.jpg') imgr,imgg,imgb=image.split() r=np.asarray(imgr).astype('float64') g=np.asarray(imgg).astype('float64') b=np.asarray(imgb).astype('float64') vari=(g-r)/(g+r-b) nan=0 a=[] for i in range (len(vari)): for j in range(len(vari[i])): if not np.isnan(vari[i][j]): b=float(vari[i][j]) a.append(b) else: vari[i][j]=1 nan=nan+1 print('len vari',len(vari)*len(vari[0])) print('len a (no NaN elements)',len(a)) print('TOTAL NAN',nan) for i in range (len(vari)): for j in range(len(vari[i])): if np.isnan(vari[i][j]): print ('new NAN object',i,j) s=0 vari=vari.ravel() for i in range (len(a)): if math.isnan(a[i]): print ('new NAN object in a massiv',i,j) for i in range(len(a)): s=s+a[i] print ('summa iz a',s) s2=0 for i in range(len(vari)): s2=s2+vari[i] print ('summa',s2)this is new version, sum is nan