Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python没有读取条件语句?_Python_Numpy_Opencv_Conditional Statements_Speech Recognition - Fatal编程技术网

python没有读取条件语句?

python没有读取条件语句?,python,numpy,opencv,conditional-statements,speech-recognition,Python,Numpy,Opencv,Conditional Statements,Speech Recognition,所以尝试了很多来自互联网的东西,但仍然没有运气。我是一名小学生,我正在用机器学习编程。我希望你能帮助我。上面播放声音的条件语句没有播放,我认为这是WAV文件的问题,我在一个新的python文件中播放了它,幸运的是它工作了,所以我添加了print函数来测试它们是否工作。我发现这是条件语句放置的问题,但我不确定是什么错误 控制台显示: import cv2 import numpy as np import speech_recognition as sr import winsound from

所以尝试了很多来自互联网的东西,但仍然没有运气。我是一名小学生,我正在用机器学习编程。我希望你能帮助我。上面播放声音的条件语句没有播放,我认为这是WAV文件的问题,我在一个新的python文件中播放了它,幸运的是它工作了,所以我添加了print函数来测试它们是否工作。我发现这是条件语句放置的问题,但我不确定是什么错误

控制台显示:

import cv2
import numpy as np
import speech_recognition as sr
import winsound
from time import sleep

vish_image = cv2.imread(r'C:\Users\priyanka\Pictures\Camera Roll\WIN_20200209_13_14_33_Pro.jpg')
vish_image_gray = cv2.cvtColor(vish_image, cv2.COLOR_BGR2GRAY)
priya_image = cv2.imread(r'C:\Users\priyanka\Desktop\harr cascade\p\s.jpg')
priya_image_gray = cv2.cvtColor(priya_image, cv2.COLOR_BGR2GRAY)
def convertToRGB(image):
    return cv2.cvtColor(vish_image, cv2.COLOR_BGR2RGB)
    return cv2.cvtColor(priya_image, cv2.COLOR_BGR2RGB)

priya = cv2.CascadeClassifier('C:/Users/priyanka/Desktop/harr cascade/classifier/cascade.xml')
vish = cv2.CascadeClassifier('C:/Users/priyanka/Desktop/harr cascade/vishneshv_frontal_face.xml')
vish_face = vish.detectMultiScale(vish_image_gray, scaleFactor = 1.05, minNeighbors = 7)
priya_face = priya.detectMultiScale(priya_image_gray, scaleFactor = 1.01, minNeighbors = 1)
no_vish_face = vish_face
no_priya_face = priya_face
r = sr.Recognizer()

print("faces found: "+str(len(no_vish_face)))
print("faces found: "+str(len(no_priya_face)))

if np.all(len(no_priya_face) > 1):
    print("yes")
elif np.all(len(no_vish_face) > 1):
    print("Yes")

sleep(1)    
winsound.PlaySound('how are you.wav', winsound.SND_FILENAME)
sleep(0.5)
with sr.Microphone() as source:
    audio_data = r.record(source, duration=5)
    print("Recognizing...")
    text = r.recognize_google(audio_data, language ="en-AU")
    print(text)

if 'good' in text:
    winsound.PlaySound('i too feel good.wav', winsound.SND_FILENAME)
elif 'bad' in text:
    winsound.PlaySound('that is okay.wav', winsound.SND_FILENAME)

for(x,y,w,h)in vish_face:
    vish_img = cv2.rectangle(vish_image,(x,y),(x+w,y+h),(255,0,0),2)
for(x,y,w,h)in priya_face:
    img = cv2.rectangle(priya_image,(x,y),(x+w,y+h),(255,0,0),2)

img = cv2.resize(vish_image, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_AREA)


cv2.imshow('test_image',vish_img)
cv2.imshow('hello_image',img)


然后记录

条件语句失败的原因是条件本身。 如果你仔细观察,
无视觉面无视觉面的长度正好等于1

faces found: 1
faces found: 1
您也需要更改代码

if np.all(len(no_priya_face) > 1):   # 1 > 1 --> condition False 
    print("yes")
elif np.all(len(no_vish_face) > 1):  # # 1 > 1 --> condition False 
    print("Yes") 

您的文本是什么?Python-3、opencv2和机器学习您能检查变量no_vish_face和no_priya_face的类型吗。
if np.all(len(no_priya_face) >= 1):   # 1 >= 1 --> condition True 
    print("yes")
elif np.all(len(no_vish_face) >= 1):  # # 1 >= 1 --> condition True 
    print("Yes")