from PIL import Image import numpy as np from scipy.ndimage.filters import maximum_filter import pylab # the picture (256 * 256 pixels) contains bright spots of which I wanna get positions # problem: data has high background around value 900 - 1000 im = Image.open('slice0000.png') data = np.array(im) # as far as I understand, data == maximum_filter gives True-value for pixels # being the brightest in their neighborhood (here 10 * 10 pixels) maxima = (data == maximum_filter(data,10)) # How can I get only maxima, outstanding the background a certain value, let's say 500 ?
Боюсь, я не совсем понимаю функцию
scipy.ndimage.filters.maximum_filter ()
. Есть ли способ получить пиксельные координаты только внутри пятен, а не в пределах фона?http://i.stack.imgur.com/RImHW.png (16-битное изображение в оттенках серого, 256 * 256 пикселей)