python利用开闭运算实现指纹清洗

这段代码演示了如何使用Python的skimage库进行图像处理,具体涉及将彩色图像转换为灰度,然后应用形态学操作如开运算、闭运算来增强指纹图像的清晰度。最终结果显示了原始图像和经过不同形态学操作后的图像,有助于指纹识别。
摘要由CSDN通过智能技术生成
from skimage.color import rgb2gray
from skimage.io import imread
import numpy as np
from skimage.morphology import binary_opening,\
    binary_closing, disk, binary_erosion, binary_dilation, square
import matplotlib.pyplot as plt


im = rgb2gray(imread('./9781789343731_Code/images/fingerprint.png'))
im[im <= 0.5] = 0
im[im > 0.5] = 1
im_o = binary_opening(im, square(6))
im_c = binary_closing(im, square(6))
im_oc = binary_closing(binary_opening(im, square(6)), square(6))
im_co = binary_opening(binary_closing(im, square(6)), square(6))

plt.gray()
plt.figure(figsize=(20,20))
plt.subplot(231)
plt.imshow(im)
plt.title('original', size=20)
plt.axis('off')
plt.subplot(232)
plt.imshow(im_o)
plt.title('opening', size=20)
plt.axis('off')
plt.subplot(233)
plt.imshow(im_c)
plt.title('closing', size=20)
plt.axis('off')
plt.subplot(234)
plt.imshow(im_oc)
plt.title('opening + closing', size=20)
plt.subplot(235)
plt.imshow(im_co)
plt.title('closing + opening', size=20)
plt.axis('off')
plt.savefig('finger.jpg')
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值