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 say 500 ?
Боюсь, я действительно не понимаю функцию scipy.ndimage.filters.maximum_filter()
. Есть ли способ получить пиксельные координаты только внутри пятен, а не в фоновом режиме?
http://i.stack.imgur.com/RImHW.png (16-битное изображение в оттенках серого, 256 * 256 пикселей)