cvflair
Bilgisayarlı görü tespitlerini üç satırda, hazır temalarla ekrana çizen ince bir katman.
Kamera döngüsü, temalar ve çizim tek pakette; numpy ve opencv dışında bağımlılığı yok. Model bağımsızdır: kutu üreten her kaynak (YOLO, MediaPipe, InsightFace veya özel bir model) aynı temayla çizilir.
Aynı tespitler, dört tema. tools/make_demo_gif.py ile üretildi: docs/city.png
üzerine çizilen kutular. Başka bir görsel için --background <yol>.
Dokuz çerçeve biçimi, beş hazır tema, el ve poz iskeleti — hepsi tek Theme(...) satırıyla.
Hiçbirini kurmadan denemek için: tema playground →
Önizlemede kutu ve iskelet kipleri ayrı ayrı denenebiliyor.
Ayarları oynat, hazır Python kodunu kopyala; sayfa tamamen tarayıcıda çalışır.
Kutunun üstüne binen çizimler de var: kilitlenme nabzı ve takip edilen nesnenin bıraktığı iz.
Kurulum
Python 3.10 veya üzeri gerekir.
pip install cvflair
YOLO ile kullanmak için Ultralytics extra'sı (lisans notu aşağıda):
pip install "cvflair[yolo]"
Hızlı başlangıç
from cvflair import Camera
cam = Camera(source=0, theme="neon")
for frame in cam.stream():
cam.show(frame)
Kamera açılır, kareler ayrı bir thread'de okunur, pencere q veya ESC ile kapanır —
release() çağırmaya, while True kurmaya gerek yok.
Bu akışta ekranda ham kare görünür: tema ancak ortada tespit varken çizim yapar.
Bir model bağlandığında her adım (kare, tespitler) çiftine dönüşür ve tema
otomatik uygulanır:
cam = Camera(source=0, theme="hud")
for frame, detections in cam.stream(model="yolov8n.pt"):
cam.show(frame, detections)
model yerine Detections döndüren kendi fonksiyonunu da verebilirsin —
kütüphaneyi model-agnostik yapan yer orası.
Kutuların yanında el ve poz iskeleti de çizilir; noktalar yine senin modelinden gelir:
from cvflair import HAND_21, KeyPoints
cam.show(frame, keypoints=KeyPoints(xy=el_noktalari), skeleton=HAND_21)
Belgeler
| Temalar ve çerçeve biçimleri | Beş tema, dokuz biçim, nabız ve iz, ikinci renk, renk paleti, sayaç paneli, kendi temanı yazmak |
| Nokta ve iskelet çizimi | El ve poz iskeletleri, KeyPoints, hazır topolojiler, kendi iskeletin |
| Model bağlama ve tespitler | stream(model=...), kendi detektörün, Detections, Ultralytics ayarları, video dosyaları |
| API özeti ve iç işleyiş | Bütün genel arayüz, thread ve kuyruk davranışı, ölçülmüş performans |
| Örnek galerisi | On çalışan örnek; hangisi kamera istiyor, hangisi istemiyor |
| Katkı rehberi | Kurulum, kapsam sınırları, yeni tema ekleme adımları |
Kameran yoksa bile çalışan üç örnek var:
python examples/motion_detection.py # gerçek tespit, sinir ağı yok (kamera ister)
python examples/theme_preview.py # kamerasız, her temayı bir PNG'ye çizer
python examples/video_file.py girdi.mp4 # dosyayı işleyip işaretlenmiş kopyasını yazar
Neden bu tasarım
- Kuyruk tek slotlu. Yeni kare gelince bekleyen eski kare düşürülür; işleme
yavaşladığında gecikme birikmez, ekranda hep en güncel kare olur. Video dosyası
için
drop_frames=Falsebunu tersine çevirir. - Çizim nesneleri bir kere kurulur, her karede yeniden kullanılır.
- Bağımlılık yüzeyi kasten dar.
import cvflair~0,3 saniye, kurulum ~170 MB (neredeyse tamamı opencv + numpy). - Model paketin dışında. Hiçbir ağırlık veya model kodu pakete gömülü değil.
Ölçülmüş rakamlar ve gerekçeleri: API ve iç işleyiş.
Geliştirme
git clone https://github.com/kbycode/cvflair.git
cd cvflair
pip install -e ".[dev]"
pytest # kamera gerektirmez
ruff check .
mypy # paket py.typed gönderiyor, tip iddiası denetleniyor
Ayrıntılar ve katkı akışı: CONTRIBUTING.md
Lisans
MIT — bkz. LICENSE.
Bağımlılıkların ikisi de izin verici lisanslı (opencv-python Apache 2.0,
numpy BSD).
YOLO ağırlıkları veya Ultralytics kodu bu pakete gömülü değildir; Ultralytics'in kullanılması hâlinde AGPL-3.0 koşulları onu kullanan projenin sorumluluğundadır.
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 cvflair-0.10.0.tar.gz.
File metadata
- Download URL: cvflair-0.10.0.tar.gz
- Upload date:
- Size: 73.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae264fc8058a40aaf2835e1caeebedf3df6836e9804324fe5e532c4ae1b47625
|
|
| MD5 |
f6962d843d69cd09157ab2c52c59f179
|
|
| BLAKE2b-256 |
e0c76af8e0fc47d024e61b3f0b321de823588da0b59fd34493889b243b96bd76
|
Provenance
The following attestation bundles were made for cvflair-0.10.0.tar.gz:
Publisher:
release.yml on kbycode/cvflair
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cvflair-0.10.0.tar.gz -
Subject digest:
ae264fc8058a40aaf2835e1caeebedf3df6836e9804324fe5e532c4ae1b47625 - Sigstore transparency entry: 2310649584
- Sigstore integration time:
-
Permalink:
kbycode/cvflair@0c5e4b634d33e61414a7ec412dcd7c8ada3aa42f -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/kbycode
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0c5e4b634d33e61414a7ec412dcd7c8ada3aa42f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cvflair-0.10.0-py3-none-any.whl.
File metadata
- Download URL: cvflair-0.10.0-py3-none-any.whl
- Upload date:
- Size: 35.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5389a055821bcb3dc3e5dfd9b369bf84a602e1047b9762e07f690cb401e525a9
|
|
| MD5 |
b0570f13d13a048b988a4f3788fbcc72
|
|
| BLAKE2b-256 |
07881355f5d4a8798a4a9141d8ff644e0a76bbab3e28ab2b6d9237689d028dba
|
Provenance
The following attestation bundles were made for cvflair-0.10.0-py3-none-any.whl:
Publisher:
release.yml on kbycode/cvflair
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cvflair-0.10.0-py3-none-any.whl -
Subject digest:
5389a055821bcb3dc3e5dfd9b369bf84a602e1047b9762e07f690cb401e525a9 - Sigstore transparency entry: 2310649638
- Sigstore integration time:
-
Permalink:
kbycode/cvflair@0c5e4b634d33e61414a7ec412dcd7c8ada3aa42f -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/kbycode
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0c5e4b634d33e61414a7ec412dcd7c8ada3aa42f -
Trigger Event:
push
-
Statement type: