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.comwith your actual email address. ThisREADME.mdfile now reflects the package namekaizerand 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|