Python ve OpenCV Kullanarak Ekran Koruyucu Uygulaması Geliştirme

0 738

Bu makalemizde Python ve OpenCV kullanarak basit bir ekran koruyucu uygulaması geliştireceğiz. Ekran koruyucular, ekranda sürekli aynı resmin kalmasını engellemek için yapılan uygulamalardır. Eski CRT monitörlerde sürekli aynı görüntünün ekranda kalması ekrana zarar veriyordu. Bunu engellemek için ekran koruyucular kullanılırdı.

Ekran koruyucu, bilgisayar bir süre boşta kaldığında ekranı istediğiniz herhangi bir şeyle dolduran bir bilgisayar programıdır. Çoğunuz dizüstü bilgisayarlarınızda, TV’nizde vb. Bir ekran koruyucu kullanmış olabilirsiniz. Eski güzel günlerde, çok kullanırdık. Bu makalemizde, Python ve OpenCv kullanarak zıplayan bir top ekran koruyucu oluşturacağız.

Görev:

Üzerine metin yazabileceğimiz bir Pencere oluşturun. 10 saniye yazmazsak ekran koruyucu başlayacaktır.

Bunun için iki şey yapmamız gerekiyor:

  • İlk olarak, bir tuşun belirtilen sürede basılıp basılmadığını kontrol etmeliyiz. Burada 10 saniye kullandım.
  • İkincisi, zıplayan bir top ekran koruyucu oluşturun ve yalnızca belirtilen süre içinde hiçbir tuşa basılmazsa görüntüleyin, aksi takdirde orijinal ekranı görüntüleyin.

İlk bölüm, bir tuşa basmak için belirli bir süre bekleyen OpenCV cv2.waitKey () işlevi kullanılarak yapılabilir ( Daha fazla bilgi için buraya bakın ).

İkinci bölüm için, önce zıplayan bir top ekran koruyucu yaratmamız gerekiyor. Ana fikir, sınırlarla çarpışmada artış işaretini (aşağıdaki kodda dx ve dy) değiştirmektir. Bu, aşağıdaki kod kullanılarak yapılabilir.

def screensaver():
    img = np.zeros((480,640,3),dtype='uint8')
    dx,dy =1,1
    x,y = 100,100
    while True:
        # Display the image
        cv2.imshow('a',img)
        k = cv2.waitKey(10)
        img = np.zeros((480,640,3),dtype='uint8') 
        # Increment the position
        x = x+dx
        y = y+dy
        cv2.circle(img,(x,y),20,(255,0,0),-1)
        if k != -1:
            break
        # Change the sign of increment on collision with the boundary
        if y >=480:
            dy *= -1
        elif y<=0:
            dy *= -1
        if x >=640:
            dx *= -1
        elif x<=0:
            dx *= -1
    cv2.destroyAllWindows()

Ekran koruyucunun anlık görüntüsü şuna benzer

Şimdi, bu ekran koruyucu işlevini aşağıdaki kodda gösterildiği gibi cv2.waitKey () işleviyle entegre etmemiz gerekiyor

Kaynak Theailearner
Cevap bırakın

E-posta hesabınız yayımlanmayacak.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bununla iyi olduğunuzu varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul etmek Mesajları Oku