J'ai un tableau numpy en python 2.7, que j'utilise la fonction imshow() pour le visualiser. Le code générant le tableau ressemble à ceci :
from pylab import *
r0 = 3.0
S0 = 10.0
x = zeros((101,101))
noiseimg = zeros((101,101))
for i in range(101):
for j in range(101):
noiseimg[i,j] = noiseimg[i,j] + normal(3,1)
mean_i = randint(0,101)
mean_j = randint(0,101)
for i in range(101):
for j in range(101):
r = ((i-mean_i)**2 + (j-mean_j)**2)**0.5
x[i,j] = S0*(1+(r/r0)**2)**-1.5
x[i,j] = x[i,j] + noiseimg[i,j]
if (((i-50)**2 + (j-50)**2)**0.5 >= 40) and (((i-50)**2 + (j-50)**2)**0.5 <= 41):
x[i,j]=0
imshow(x)
show()
Cela permet de produire une image avec un niveau de bruit de fond et une source à symétrie circulaire. Un cercle centré sur l'image a un rayon de 40 pixels.
Ce que je voudrais savoir, c'est comment trouver l'emplacement du pixel ayant la valeur la plus élevée à l'intérieur de ce cercle. Je sais comment trouver la valeur maximale dans le cercle, mais pas l'emplacement du pixel le plus élevé. [i,j]
l'endroit où il se trouve.
Merci de votre attention !
Ma question a été signalée par stackoverflow comme étant un doublon potentiel mais il ne contient pas les restrictions de localisation dont j'ai besoin.