Skip to content

cvflair 0.11.0

Choose a tag to compare

@kbycode kbycode released this 01 Aug 10:47
· 13 commits to main since this release

Bu sürüm çizime değil, kütüphaneye ulaşma yollarına bakıyor. Şimdiye kadar
cvflair'i kullanmanın tek yolu Python yazıp bir OpenCV penceresi açmaktı.

pip install -U cvflair

Komut satırı

Paketle birlikte cvflair komutu geliyor. Kamera, video, tek görsel ya da bir
klasör dolusu görsel — kod yazmadan:

cvflair 0 --theme neon --model yolov8n.pt
cvflair girdi.mp4 --model yolov8n.pt -o cikti.mp4 --theme cyberpunk
cvflair fotograflar/ --model yolov8n.pt -o isaretli/

python -m cvflair de aynı komut. Ayrıntı:
komut satırı belgesi.

Video yazma

VideoWriter kütüphaneden de kullanılabiliyor. Dosya ilk kareyle açılıyor, yani
boyutu önceden bilmek gerekmiyor:

from cvflair import Camera, VideoWriter

cam = Camera(source="girdi.mp4", drop_frames=False, theme="neon")
with VideoWriter("cikti.mp4", fps=cam.source_fps or 25) as writer:
    for frame, detections in cam.stream(model="yolov8n.pt"):
        writer.write(cam.annotate(frame, detections))

Sonraki kareler farklı boyutta gelirse hata veriyor: OpenCV bunları sessizce
düşürüyor ve dosya nedeni görünmeden eksik çıkıyor.

Not defteri

cv2.imshow Jupyter ve Colab'da çalışmıyor; matplotlib'e geçmek ise BGR/RGB
takasını kullanıcıya bırakıyordu.

import cvflair

theme.annotate(frame, detections)
cvflair.notebook.show(frame)

IPython bağımlılık değil, yalnızca çağrıldığında import ediliyor. Not defteri
dışında çizmiyor, nesneyi döndürüyor — aynı betik iki yerde de çalışıyor.

MediaPipe

points = KeyPoints.from_mediapipe(sonuc, *frame.shape[1::-1])
cam.show(frame, keypoints=points, skeleton=HAND_21)

Eski solutions ve yeni tasks API'leri ile düz nokta listesi kabul ediliyor;
ölçekleme burada yapılıyor. MediaPipe import edilmiyor, alanlar adlarıyla
okunuyor.

Düzeltildi

Video dosyasının son karesi kayboluyordu. Okuyucu thread tüketiciden bir
adım önde bittiği için, kaynak tükendiğinde kuyrukta bekleyen kare işlenmeden
döngü kapanıyordu: 40 karelik bir dosya 39 kare olarak yazılıyordu. Artık kaynak
bittiğinde kuyruk boşaltılıyor, kullanıcı çıktığında ise boşaltılmıyor.

Belgeler

README İngilizceye çevrildi; Türkçesi
README.tr.md olarak
duruyor. Ayrıntılı belgeler Türkçe kalıyor.

Tüm değişiklikler:
CHANGELOG