手势识别理论基础(凸缺陷)

2023-10-07  本文已影响0人  大龙10

书名:计算机视觉40例从入门到深度学习:OpenCV-Python
作者:李立宗
出版社:电子工业出版社
出版时间:2022-07-01
ISBN:9787121436857


二、理论基础

2、凸缺陷

三、凸缺陷的四个特征值

四、函数cv2.convexityDefects()

五、凸缺陷的实践意义

六、程序

import cv2
# --------------读取并绘制原始图像------------------
img =  cv2.imread('d:\\hand.bmp')  
cv2.imshow("original",img)

# --------------提取轮廓------------------
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  
ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)  
contours, hierarchy = cv2.findContours(binary, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)  

# --------------凸包------------------
cnt=contours[0]
hull = cv2.convexHull(cnt,returnPoints = False)
defects = cv2.convexityDefects(cnt,hull)
print("defects",defects)

# --------------绘制凸包------------------
for i in range(defects.shape[0]):
    s,e,f,d = defects[i,0]
    start = tuple(cnt[s][0])
    end = tuple(cnt[e][0])
    far = tuple(cnt[f][0])
    cv2.line(img,start,end,[0,0,255],2)
    cv2.circle(img,far,5,[255,0,0],-1)
#----------------显示结果、释放图像--------------------------
cv2.imshow('result',img)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果 打印数据
上一篇 下一篇

猜你喜欢

热点阅读