在提取指静脉的过程中,我们需要提取有用的ROI区域。而这时候,我们会采取将手指两边中点拟合成一条直线,求得这个直线的直线方程,然后得到旋转的角度,以便对原来的图像进行旋转操作。当我们知道如何取得手指的边缘中点后,直接用fitLine函数可以方便的按我们想要的方式得到期望 的直线。
首先是官方文档上的函数原型:
然后我会通过实例来解释每一个参数的意义,代码十分简单:
import cv2 as cv
import numpy as np
test =[(1,2),(2,4),(3,6)]
nptest=np.array(test)
line =cv.fitLine(nptest,cv.DIST_L2,0,0.01,0.01)
这里的line就是我们的结果了
line的形式是[[cos a],[sin a],[point_x],[point_y]],前面两项是有关直线与Y正半轴(这里指的是屏幕坐标系)夹角a的三角函数,后面两项就是所得拟合直线上的一点的横纵坐标。我们知道一个直线的倾斜角度和它经过的一个点后就可以唯一确定一条直线。
参数列表解释: