A comprehensive package for face detection, hand tracking, pose estimation, and more using MediaPipe, designed to simplify your project development.
Project description
Kaizer Package
Kaizer is a comprehensive package for face detection, hand tracking, pose estimation, and more using MediaPipe. It is designed to simplify your project development.
Features
- Face Detection: Efficient and accurate face detection.
- Hand Tracking: Real-time hand tracking and gesture recognition.
- Pose Estimation: Full-body pose estimation.
- FPS Calculation: Measure frames per second for performance evaluation.
- Utilities: Additional tools to streamline your project work.
Installation
You can install the package using pip:
pip install kaizer
Usage
Using Face Detection
from KAZIER import FaceDetector
import cv2
cap = cv2.VideoCapture(0)
detector = FaceDetector()
while True:
success, img = cap.read()
if not success:
break
img, bboxs = detector.find_faces(img)
if bboxs:
for _, bbox, _ in bboxs:
img = detector.imp_draw(img, bbox)
print("Bounding boxes:", bboxs)
img, faces = detector.find_face_mesh(img)
if faces:
print(f"Number of faces detected: {len(faces)}")
p1 = faces[0][33] # Example: left eye landmark
p2 = faces[0][263] # Example: right eye landmark
length, info, img = detector.findDistance(p1, p2, img)
print(f"Distance between points: {length}, Info: {info}")
cv2.imshow('Image', img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Using fps
from KAZIER import FPS
import cv2
fps_counter = FPS()
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
fps = fps_counter.showfps(frame, writetext=True, text_pos=(10, 50),
fthickness=2,tcolor=(0,255,250),
Fstyle=cv2.FONT_HERSHEY_DUPLEX,fscale=2,)
cv2.imshow('Frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Using HAND DETECTION
from KAZIER import HandStar
import cv2
cap = cv2.VideoCapture(0)
detector = HandStar(maxHands=2)
while True:
success, img = cap.read()
if not success:
break
img = detector.detect_hands(img)
lmList = detector.get_hand_positions(img)
if len(lmList) != 0:
fingersList = detector.get_fingers_status()
for i, fingers in enumerate(fingersList):
length, img, lineInfo = detector.calculate_distance(4, 8, img, handNo=i)
cv2.imshow('Image', img)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Using Pose Module
from KAZIER import PoseDetector
import cv2
cap = cv2.VideoCapture(0)
detector = PoseDetector()
while True:
success, img = cap.read()
img = cv2.resize(img, (680, 680))
img = detector.findPose(img)
lmList = detector.findPosition(img)
if lmList:
cv2.circle(img, (lmList[14][1], lmList[14][2]), 10, (250, 0, 0), cv2.FILLED)
length, img, info = detector.findDistance(lmList[11][1:3], lmList[15][1:3], img=img, color=(255, 0, 0), scale=10)
cv2.imshow("image", img)
if cv2.waitKey(1) == ord('q'):
break
Using Utils
from KAZIER import Helper
import cv2
utils = Helper()
image_url = 'https://image.shutterstock.com/image-vector/dotted-spiral-vortex-royaltyfree-images-600w-2227567913.jpg' # Replace with the actual image URL
image = utils.download_image_from_url(image_url)
black_background_image = utils.make_background_black(image)
rotated_image = utils.rotate_image(image, 45)
img2 = cv2.imread('med/ig.jpg')
hstacked_image = utils.hstack_images(image, img2)
vstacked_image = utils.vstack_images(image, img2)
detected_color = utils.detect_color(image, 'green')
image_with_corners = utils.detect_corners(image)
image_with_text_left = utils.add_text(image, 'Hello World', (50, 50), font_name='hershey_triplex', color_name='blue', align='left')
cv2.waitKey(0)
cv2.destroyAllWindows()
License
- This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
- Contributions are welcome! Please open an issue or submit a pull request.
Contact
- Replace
sumitsingh9441@gmail.com
with your actual email address. ThisREADME.md
file now reflects the package namekaizer
and includes usage examples for its features.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kazier-0.0.1.tar.gz
(9.5 kB
view details)
Built Distribution
Kazier-0.0.1-py3-none-any.whl
(12.5 kB
view details)
File details
Details for the file kazier-0.0.1.tar.gz
.
File metadata
- Download URL: kazier-0.0.1.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfd097afe01cb636ff5dc217b02e3ca1717d1acb27de0020085c631e657e9b64 |
|
MD5 | 5260e35a4db6014e46cd66d78b3fd840 |
|
BLAKE2b-256 | 23f721e07bc23bcbf100676bf3e974358b74b93d112a83e76c9628b492aa3162 |
File details
Details for the file Kazier-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: Kazier-0.0.1-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 628461c4b3d62b72612e41b9591cd6ce1248705c865b4da58019ea04cd97343c |
|
MD5 | fb2fda8d19f4be8281f4851fde120bbc |
|
BLAKE2b-256 | 54fa808ca0dcefe723a39bed1cad7e1cb8ed16c8718241baa48405ec0fe9651c |