In [2]:
%run ../common.ipynb
from __future__ import division
image = imread('../MP.tiff')
imshow(image)
image.shape
Out[2]:
In [29]:
simg = smooth(image, size=40)
imshow(simg)
Out[29]:
In [30]:
for i in range(10,15):
tmp = np.copy(image)
tmp[simg<i] = 255
imshow(tmp)
In [57]:
# make a circle mask
r = 30
size = 2*r
x,y = np.meshgrid(range(size), range(size))
R = np.sqrt((x-r)**2+(y-r)**2)
mask = np.ones((size,size), bool)
mask[R>r] = 0
imshow(mask)
# copy image (values above 30)
img = np.zeros(image.shape, dtype=np.uint8)
img[image>30]=image[image>30]
# dilation
dimg = ndimage.binary_dilation(img, structure=mask)
imshow(dimg)
Out[57]:
In [59]:
eimg = ndimage.binary_erosion(img, structure=mask)
imshow(eimg)
deimg = ndimage.binary_erosion(dimg, structure=mask)
imshow(deimg)
Out[59]: