scikit-image库-- 过滤区域最大值(三)

过滤区域最大值
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

# Convert to float: Important for subtraction later which won't work with uint8
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)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值