Untitled
unknown
plain_text
a year ago
1.8 kB
16
Indexable
import cv2
import numpy as np
import time
import random
def acilan_nesne_yatay(n, v, t):
# Parametre sınırlarını kontrol et
n = max(4, min(n, 12)) # Nesne adedi (4 ile 12 arasında)
t = max(60, min(t, 5 * 60)) # Programın çalışma süresi (saniye cinsinden, 1 dakika ile 5 dakika arasında)
v = max(1, min(v, 3)) # Hız seviyesi (1 ile 3 arasında)
hiz = 1500 // (2 ** (v - 1)) # Hız milisaniye cinsinden hesaplanır
# Nesne renkleri ve boyutları
nesne_renkler = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (0, 255, 255), (255, 0, 255), (255, 255, 0),
(100, 100, 255), (255, 100, 100), (100, 255, 100), (200, 200, 100), (100, 200, 200),
(200, 100, 200)]
nesne_boyutu = 30
nesne_aralik = 60 # Nesneler arasındaki yatay boşluk
# Tuval boyutu
canvas_width = 700
canvas_height = 700
canvas_center_y = canvas_height // 2
start_time = time.time()
while time.time() - start_time < t:
random_indices = random.sample(range(len(nesne_renkler)), n)
for i in range(1, n + 1): # 1'den n'e kadar sırayla nesneleri göster
canvas = np.ones((canvas_height, canvas_width, 3), dtype="uint8") * 255
# Nesne pozisyonlarını sol taraftan sağa doğru ayarla
nesne_positions = [(nesne_aralik * (j + 1), canvas_center_y) for j in range(i)]
for k, pos in enumerate(nesne_positions):
color = nesne_renkler[random_indices[k]]
cv2.circle(canvas, pos, nesne_boyutu, color, -1)
cv2.imshow("Nesne Takibi", canvas)
if cv2.waitKey(hiz) & 0xFF == ord('q'):
cv2.destroyAllWindows()
return
cv2.destroyAllWindows()
# Fonksiyonu çağıralım
acilan_nesne_yatay(n=6, v=1, t=60)Editor is loading...
Leave a Comment