【人工智能】让计算机视觉变得简单!

2022-09-16  本文已影响0人  BlueSocks

本文来源:https://blogs.lakshaykumar.tech/computer-vision-made-easy
作者: Lakshay Kumar

计算机视觉让我非常着迷,这些天我正在探索计算机视觉的世界。在工作期间,我意识到我们必须为基本的计算机视觉技术(如面部检测、手部检测、姿势分类等)编写数百行代码。我探索了 opencv 和 mediapipe 库,这帮助我获得了对计算机视觉的很多见解。我开发了一些包,可以帮助开发者社区更多地关注实现而不是从头开始编码。这是我最近开发的三个包。

1.人脸检测

试试看

功能

faceDetector(image, draw=False)

用法

faceDetector(图像,绘制=假)

通过功能直接检测面部

from lkfacedetection import faceDetector
import cv2
cap = cv2.VideoCapture(0)
while True:
    success, image = cap.read()
    functionValues = faceDetector(image,draw=True) #draw over the frame from function
    frame = functionValues[0]
    cv2.imshow('Face', frame)
    cv2.waitKey(1)
cap.release()

使用函数中的值进行外部检测

from lkfacedetection import faceDetector
import cv2
cap = cv2.VideoCapture(0)
while True:
    success, image = cap.read()
    functionValues = faceDetector(image) #doesn't draw over the frame
    frame = functionValues[0]
    x,y,w,h = functionValues[1]
    cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2) #Draws a rectangle over the face
    cv2.imshow('Face', frame)
    cv2.waitKey(1)
cap.release()

2.手部追踪包

试试看

功能

handTracker(image,draw=True)

用法

手跟踪器(图像,绘制=假)

直接从函数映射到手。

from lkhandtracking import handTracker
import cv2

cap = cv2.VideoCapture(0)
while True:
    success, image = cap.read()
    functionValues = handTracker(image,draw=True)
    image = functionValues[0]
    handLms = functionValues[1]
    print(handLms)
    cv2.imshow('Hands', image)
    cv2.waitKey(1)
cap.release()

无需映射即可追踪手部。

from lkhandtracking import handTracker
import cv2

cap = cv2.VideoCapture(0)
while True:
    success, image = cap.read()
    functionValues = handTracker(image,draw=False)
    image = functionValues[0]
    handLms = functionValues[1]
    print(handLms)
    cv2.imshow('Hands', image)
    cv2.waitKey(1)
cap.release()

3.身体分割

试试看

功能

bodySegmentation(orignalImg,backgroundImg=(255,255,255),threshold=0.3)

用法

身体分割(img)

默认分割(白色背景)

from lkbodysegmentation import bodySegmentation
import cv2

cap = cv2.VideoCapture(0)

while True:
    success, img = cap.read()
    img = bodySegmentation(img)
    cv2.imshow('Image',img)
    cv2.waitKey(1)

bodySegmentation(img, backgroundColor, 阈值)

自定义细分

from lkbodysegmentation import bodySegmentation
import cv2

cap = cv2.VideoCapture(0)

while True:
    success, img = cap.read()
    backgroundColor = (255,0,255) #You can replace with an image too
    threshold = 0.45 #Level of background to be erased
    img = bodySegmentation(img,backgroundColor,threshold)
    cv2.imshow('Image',img)
    cv2.waitKey(1)

开发商

该软件包由热情的 AI 研究员Lakshay Kumar开发。这是为了记住编写冗长的代码来检测面部的痛苦而开发的。这将使其他开发人员能够更多地关注实现部分,而不是花时间编写人脸检测模块。

上一篇下一篇

猜你喜欢

热点阅读