opencv-python 指静脉的手指轮廓提取实现

该博客介绍了如何使用opencv-python在指静脉图像中提取手指轮廓,以应对手指旋转问题。作者尝试了Sobel算子和拉普拉斯算法,但最终选择了cv.Canny()函数,通过自定义函数提取所需部分,有效地减少了无关轮廓。文章展示了函数效果及源码,并分享了处理特殊情况的异常处理技巧。
摘要由CSDN通过智能技术生成

由于指静脉由于采集时候手指的不固定,所以同一手指的不同照片可能会有旋转。我们提取手指的轮廓就是为了拟合出手指的中线,从而对手指的图片进行旋转矫正。

在opencv中提供了好几种方法供我们用来提取图片中物体的边界与轮廓。有Sobel算子,拉普拉斯算法等等,但是应用在我的图片上一点都不友好:

中间的是原图,不知道是不是因为我没有对原图进行平滑处理,如果用这两种算子来进行进一步的处理的话,难度巨大。但是在opencv中,还有一种十分友好的边缘检测的方法,他就是cv.Canny()

想了解原理和用法的话这里讲的非常清楚:

Canny的原理

接下来展示一下这个函数的效果(网页原因图片被拉伸了)

效果很好,与轮廓无关的部分大大减少。

示例的源码:

import cv2 as cv 
import numpy as np

from matplotlib import pyplot as plt

clahe_test=cv.imread('clahe_test.bmp'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值