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