Untitled

 avatar
unknown
plain_text
a year ago
1.8 kB
10
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