Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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代码链接用于播放使用html5和google app engine创建的视频的网页?_Python_Html_Google App Engine - Fatal编程技术网

如何使用检测微笑的python代码链接用于播放使用html5和google app engine创建的视频的网页?

如何使用检测微笑的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>

我用谷歌应用程序引擎和html5创建了一个网页(其中嵌入了视频)。 有一个用于检测微笑的python代码。当单击播放按钮(即)视频开始自动播放时,应该如何调用python代码来检测观众的脸。。。 应用程序引擎代码如下所示

    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)