-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
123 lines (109 loc) · 7.58 KB
/
Copy pathconfig.py
File metadata and controls
123 lines (109 loc) · 7.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
"""
config.py — Advanced Air Canvas Merkezi Ayar Dosyası
Tüm sabitler burada tanımlanır. Diğer modüller:
from config import CAMERA_INDEX, COLOR_PALETTE, ...
şeklinde import eder. Magic number kullanma — her şey burada.
"""
# ═══════════════════════════════════════════════════════════════
# KAMERA AYARLARI
# ═══════════════════════════════════════════════════════════════
CAMERA_INDEX = 1 # Eğer bu olmazsa 0 yap
CAMERA_BACKEND = 700 # Yüksek FPS desteği için yerel backend (0=otomatik)
CAMERA_WIDTH = 640
CAMERA_HEIGHT = 480
FPS_TARGET = 24
FLIP_HORIZONTAL = True # Ayna efekti (selfie modu)
DISABLE_MSMF = True # Çakışmaları önler
# Arayüzden Ayarlanabilir Özellikler (Varsayılanlar)
SHOW_CAMERA_FEED = True # True: Kamera Görüntüsü, False: Siyah Tuval
ENABLE_SHAPE_CORRECTION = True # True: Yapay Zeka Şekil Düzeltme Açık
# ═══════════════════════════════════════════════════════════════
# GPU AYARLARI
# ═══════════════════════════════════════════════════════════════
GPU_BACKEND = "auto" # Otomatik GPU veya İşlemci Hızlandırması
# ═══════════════════════════════════════════════════════════════
# EL TAKİBİ (MediaPipe Hands)
# ═══════════════════════════════════════════════════════════════
DOMINANT_HAND = "Right" # "Right" veya "Left"
MAX_NUM_HANDS = 1
MIN_DETECTION_CONFIDENCE = 0.7
MIN_TRACKING_CONFIDENCE = 0.6
MODEL_COMPLEXITY = 1 # 0=hafif, 1=tam
SMOOTHING_WINDOW = 5 # Moving average pencere boyutu
SKIP_FRAMES = 0 # 0=atlama yok, 1=her 2 frame'de 1 işle
# ═══════════════════════════════════════════════════════════════
# CANVAS AYARLARI
# ═══════════════════════════════════════════════════════════════
CANVAS_WIDTH = 1280
CANVAS_HEIGHT = 720
CANVAS_BG_COLOR = (0, 0, 0) # Siyah arka plan (BGR)
BRUSH_DEFAULT_SIZE = 5
BRUSH_MIN = 2
BRUSH_MAX = 30
LINE_INTERPOLATION_THRESHOLD = 50 # Piksel — bu üstü ara nokta ekle
SMOOTH_BLUR_KERNEL = (3, 3) # GaussianBlur çekirdek boyutu
# ═══════════════════════════════════════════════════════════════
# RENK PALETİ (BGR formatı — OpenCV standardı)
# ═══════════════════════════════════════════════════════════════
COLOR_PALETTE = [
(0, 0, 255), # Kırmızı
(0, 255, 0), # Yeşil
(255, 0, 0), # Mavi
(0, 255, 255), # Sarı
(255, 255, 255), # Beyaz
]
COLOR_NAMES = ["Kırmızı", "Yeşil", "Mavi", "Sarı", "Beyaz"]
ERASER_COLOR = (0, 0, 0) # Silgi = arka plan rengi
DEFAULT_COLOR_INDEX = 4 # Beyaz
# ═══════════════════════════════════════════════════════════════
# GESTURE AYARLARI
# ═══════════════════════════════════════════════════════════════
GESTURE_STABLE_FRAMES = 3 # Titreşim önleme
PINCH_MIN_DISTANCE = 20 # Piksel
PINCH_MAX_DISTANCE = 200 # Piksel
# ═══════════════════════════════════════════════════════════════
# ŞEKİL DÜZELTİCİ
# ═══════════════════════════════════════════════════════════════
SHAPE_IDLE_TIMEOUT = 1.5 # Saniye
SHAPE_MIN_POINTS = 15 # Minimum nokta sayısı
SHAPE_APPROX_EPSILON = 0.04 # approxPolyDP epsilon oranı
SHAPE_CIRCULARITY = 0.80 # Dairesellik eşiği (0-1)
SHAPE_MIN_AREA = 500.0 # Minimum alan (piksel²)
SHAPE_ANIM_DURATION = 200 # Düzeltme animasyonu (ms)
# ═══════════════════════════════════════════════════════════════
# TOOLBAR AYARLARI
# ═══════════════════════════════════════════════════════════════
TOOLBAR_HEIGHT = 60
TOOLBAR_BG_COLOR = (30, 30, 30)
TOOLBAR_HIGHLIGHT_COLOR = (0, 255, 255) # Sarı vurgu
TOOLBAR_TEXT_COLOR = (200, 200, 200)
TOOLBAR_CIRCLE_RADIUS = 18
TOOLBAR_CIRCLE_SPACING = 55
TOOLBAR_FONT_SCALE = 0.5
TOOLBAR_ACTIVE_OPACITY = 0.85
# ═══════════════════════════════════════════════════════════════
# DIŞA AKTARMA
# ═══════════════════════════════════════════════════════════════
EXPORT_SUBDIR = "AirCanvas" # Documents altındaki klasör adı
EXPORT_PNG_QUALITY = 95
# ═══════════════════════════════════════════════════════════════
# UYGULAMA
# ═══════════════════════════════════════════════════════════════
WINDOW_TITLE = "Advanced Air Canvas"
DEBUG = True
# ─────────────────────────────────────────────────────────────
if __name__ == "__main__":
print("=" * 55)
print(" Advanced Air Canvas — Yapılandırma Özeti")
print("=" * 55)
print(f" Kamera : index={CAMERA_INDEX}, {CAMERA_WIDTH}x{CAMERA_HEIGHT}@{FPS_TARGET}fps")
print(f" Backend : DirectShow ({CAMERA_BACKEND}), MSMF kapalı={DISABLE_MSMF}")
print(f" GPU : {GPU_BACKEND}")
print(f" El takibi : güven={MIN_DETECTION_CONFIDENCE}, dominant={DOMINANT_HAND}")
print(f" Canvas : {CANVAS_WIDTH}x{CANVAS_HEIGHT}, arka plan={CANVAS_BG_COLOR}")
print(f" Fırça : {BRUSH_MIN}-{BRUSH_MAX}px, varsayılan={BRUSH_DEFAULT_SIZE}")
print(f" Renkler : {COLOR_NAMES} + Silgi")
print(f" Şekil düz. : bekleme={SHAPE_IDLE_TIMEOUT}s")
print(f" Debug : {DEBUG}")
print("=" * 55)
print("✅ Yapılandırma geçerli.")