OpenCv 入门 --手掌轮廓绘制

OpenCv 入门

OpenCv 入门 --手掌轮廓绘制 @ Fu Xianjun. All Rights Reserved.

文章目录

  • OpenCv 入门
  • 前言
  • 一、导包并读取图片
  • 二、处理图像
    • 1、面积筛选
    • 2、获取凸包
  • 三、显示图片
  • 四、结果展示
  • 总结


前言

OpenCV是一个跨平台计算机视觉库,用C++语言编写,用于图像处理、分析。本文将讲解如何使用OpenCv来进行手掌轮廓绘制。

一、导包并读取图片

日常导包:

import cv2
import numpy as np
img = cv2.imread('hand.png')
img = cv2.resize(img,None,fx = 0.5,fy = 0.5)

二、处理图像

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,binary = cv2.threshold(gray,60,255,0)
contours,h = cv2.findContours(b,cv2.RETR_LIST,\ cv2.CHAIN_APPROX_SIMPLE)

1、面积筛选

for i in range(len(contours)):
    area = cv2.contourArea(contours[i])
    print(area)
    if area > 10000:
        x = i

2、获取凸包

hull = cv2.convexHull(contours[x],returnPoints=False)
defects = cv2.convexityDefects(contours[x],hull)
for i in range(defects.shape[0]):
	s,e,f,d = defects[i,0]
	start = tuple (contours[x] [e] [0])
	end = tuple (contours[x] [e] [0])
	far = tuple (contours [x] [f] [0])
	cv2.line(img,start,end,(255,255,0))
	cv2.circle(img,far,5,(0,255,0),-1)

三、显示图片

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

四、结果展示

OpenCv 入门 --手掌轮廓绘制_第1张图片

总结

以上就是今天要讲的内容,本文仅仅简单介绍了如何使用OpenCv进行手掌轮廓绘制,及OpenCv的基础应用。

你可能感兴趣的:(opencv)