Python'da kodum uygulamamı donduruyor

import cv2
import playsound

cap = cv2.VideoCapture(0)

enable = False

smile_cascade = cv2.CascadeClassifier(cv2.data.haarcascades +'haarcascade_smile.xml')

while True:
    success, img = cap.read()
    imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    smile = smile_cascade.detectMultiScale(imgGray, 1.8, 20) 
    
    if len(smile) > 0:
        smile_detect = True
    else:
        smile_detect = False
    print(smile_detect)
    
    
    

    for (sx, sy, sw, sh) in smile:
        img = cv2.rectangle(img, (sx, sy), ((sx + sw), (sy + sh)), (0, 0, 255), 2)
        
        
        if smile_detect== False:
            playsound.playsound('sample.mp3',False)
        
        elif smile_detect== True:
            playsound.playsound('sample.mp3', True)  
            
         
        
    
    cv2.imshow('face_detect', img)
    if cv2.waitKey(10) & 0xFF == ord('q'):
        break
        
cap.release()
cv2.destroyWindow('face_detect')

Merhaba uygulamam gülüş algılayan bir program. Ben programımı çalıştırdığım zaman çalışıyor fakat gülüş algılayınca donuyor nedenini bulamadım yardım edermisiniz.

Öğrenmek yada öğrenmemek işte bütün mesele bu.

Balık aldığınızda balık tutamazsınız.

Ondan kod vermek yerine öğrenilmesi taraftarıyım.

Hata nerede?

playsound.playsound(‘sample.mp3’, True)

Bu kod ne yapar anlamayınca böyle sorunlar çıkar.

True ve False olan parametre ne işe yarar?

Bu parametreyi False verirsen şarkıyı çalmak üzere arka plana atar.

Ama True verisen çalma bitene kadar başka kod işletmene müsade etmez.

Karşılaştırma koşullarındaki True ve False ile bu fonksiyonun aldığı True, False farklı işe yarıyor.

Çalan bir ses dosyasını fonksiyona True yada False vererek durduramazsınız.

Bu nedenle daha önce adım adım kodu işleyelim demiştim.

Lego gibi, hazır kod parçalarını öğrenmeden kodlayarak programcı olunmaz.

Bu kodu da düzeltiriz sorun değil, ne yapmak istediğini biliyoruz ama bu şekilde, hiç bir şey öğrenemezsin.

Yani kod parçalarını uç uca ekleyerek, belki coder olursun ama asla programcı olamazsın.

Kararını sen ver, ya bana ne benim şu sorunumu çöz yeter de, son kez kodunu düzenleyelim.

Yada bu işi öğrenmek için çaba sarfetmen adına biraz bakış açına katkı sağlayacak şekilde biraz seni yorayım.

5 Beğeni