如何使用检测微笑的python代码链接用于播放使用html5和google app engine创建的视频的网页?
我用谷歌应用程序引擎和html5创建了一个网页(其中嵌入了视频)。 有一个用于检测微笑的python代码。当单击播放按钮(即)视频开始自动播放时,应该如何调用python代码来检测观众的脸。。。 应用程序引擎代码如下所示如何使用检测微笑的python代码链接用于播放使用html5和google app engine创建的视频的网页?,python,html,google-app-engine,Python,Html,Google App Engine,我用谷歌应用程序引擎和html5创建了一个网页(其中嵌入了视频)。 有一个用于检测微笑的python代码。当单击播放按钮(即)视频开始自动播放时,应该如何调用python代码来检测观众的脸。。。 应用程序引擎代码如下所示 import webapp2 class MainPage(webapp2.RequestHandler): def get(self): self.response.out.write("""<!DOCTYPE html>
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.out.write("""<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" controls>
<source src="/video/mov_bbb.mp4" type="video/mp4">
<source src="/video/mov_bbb.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</body>
</html>""")
app = webapp2.WSGIApplication([('/', MainPage)])
微笑检测的python代码是
import cv
HAAR_CASCADE_PATH = "haarcascade_smile.xml"
CAMERA_INDEX = 0
def detect_faces(image):
faces = []
detected = cv.HaarDetectObjects(image, cascade, storage, 1.1,99,0,(40,40))
if detected:
for (x,y,w,h),n in detected:
faces.append((x,y,w,h))
return faces
if __name__ == "__main__":
cv.NamedWindow("Video", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(CAMERA_INDEX)
storage = cv.CreateMemStorage()
cascade = cv.Load(HAAR_CASCADE_PATH)
faces = []
i = 0
c = -1
while (c == -1):
image = cv.QueryFrame(capture)
#Only run the Detection algorithm every 5 frames to improve performance
if i%5==0:
faces = detect_faces(image)
for (x,y,w,h) in faces:
cv.Rectangle(image, (x,y), (x+w,y+h), 255)
cv.ShowImage("Video", image)
i += 1
c = cv.WaitKey(10)
你可能不能
视频将流式传输到客户端浏览器,并在客户端浏览器上播放。
因为它在浏览器中运行,所以您需要在浏览器中运行微笑检测代码。它必须使用javascript而不是python。您需要通过HTML5(或Flash)从用户摄像机录制视频流,然后将视频流发送到您的服务器并在那里进行分析。(你对JavaScript也这么做,只是发送结果。)你能说得更清楚一点吗?河马解释得很清楚。你需要先发布你的代码,而不是你的想法,然后我们可以提供帮助。
import cv
HAAR_CASCADE_PATH = "haarcascade_smile.xml"
CAMERA_INDEX = 0
def detect_faces(image):
faces = []
detected = cv.HaarDetectObjects(image, cascade, storage, 1.1,99,0,(40,40))
if detected:
for (x,y,w,h),n in detected:
faces.append((x,y,w,h))
return faces
if __name__ == "__main__":
cv.NamedWindow("Video", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(CAMERA_INDEX)
storage = cv.CreateMemStorage()
cascade = cv.Load(HAAR_CASCADE_PATH)
faces = []
i = 0
c = -1
while (c == -1):
image = cv.QueryFrame(capture)
#Only run the Detection algorithm every 5 frames to improve performance
if i%5==0:
faces = detect_faces(image)
for (x,y,w,h) in faces:
cv.Rectangle(image, (x,y), (x+w,y+h), 255)
cv.ShowImage("Video", image)
i += 1
c = cv.WaitKey(10)