Skip to main content

cvflair

PyPI CI Python 3.10+ İndirme License: MIT

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.

cvflair demo

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>.

Sekiz ç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.

çerçeve biçimleri

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, sekiz biçim, 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=False bunu 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

cvflair-0.9.0.tar.gz (57.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cvflair-0.9.0-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

Details for the file cvflair-0.9.0.tar.gz.

File metadata

  • Download URL: cvflair-0.9.0.tar.gz
  • Upload date:
  • Size: 57.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cvflair-0.9.0.tar.gz
Algorithm Hash digest
SHA256 9eac6f5675e8111bc1c25149e57e8d5021be729c17b6483fb984a8048acfca20
MD5 4c5e22b2a20f7f604cf5d0601e49476f
BLAKE2b-256 25263a0b58bc11f42bd69c1c220f45674543aee854a4c44d202da423a63f841e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cvflair-0.9.0.tar.gz:

Publisher: release.yml on kbycode/cvflair

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cvflair-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: cvflair-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 28.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cvflair-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c680146170651cab53cb6c789d34eedca62bbd729e298a26a5e9d4313c07ee41
MD5 96400ed33d314784bf41fcf4b46cdd2a
BLAKE2b-256 31bef3819e7105391b198ed9e9c2555bbcf3b5b26e15e7a003fbdbc571f7da9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cvflair-0.9.0-py3-none-any.whl:

Publisher: release.yml on kbycode/cvflair

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page