过滤区域最大值
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from scipy.ndimage import gaussian_filter
from skimage import data
from skimage import img_as_float
from skimage.morphology import reconstruction
image = img_as_float(data.coins())
image = gaussian_filter(image, 1)
seed = np.copy(image)
seed[1:-1, 1:-1] = image.max()
mask = image
seed1 = np.copy(image)
seed1[1:-1, 1:-1] = image.min()
erosion = reconstruction(seed, mask, method='erosion')
'''
reconstruction(seed, mask, method='dilation', selem=None, offset=None)
erosion(腐蚀) seed 种子图像值必须大于mask值 腐蚀本质选取领域最小值,降低图像高亮区域
dilation (膨胀) seed种子图像值必须小于 mask值 膨胀本质选取区域最大值, 增加图像高亮区域
'''
dilation=reconstruction(seed1, mask,method='dilation')
画图
fig = plt.figure(figsize=(18, 5))
axes = np.zeros((1, 3), dtype=np.object)
axes[0,0]=plt.subplot(1,3,1)
axes[0,1]=plt.subplot(1,3,2)
axes[0,2]=plt.subplot(1,3,3)
axes[0,0].imshow(dilation, 'gray')
axes[0,0].set_title('dilation')
axes[0,1].imshow(erosion, 'gray')
axes[0,1].set_title('erosion')
axes[0,2].imshow(image1,'gray')
axes[0,2].set_title('ground')
plt.show()

image=image1-dilation
plot.imshow(image)
