La dernière fois que j'ai essayé d'appeler un programme Java à partir de bottle.py, mais lors de l'accès avec un navigateur utilisant la même méthode, j'ai écrit un serveur qui acquiert l'image de la caméra Web, reconnaît l'image du visage avec OpenCV et renvoie le nombre de personnes devant la caméra vu.
La dernière fois que je l'ai écrit en Python3, mais cette fois, c'est Python2.7 et il est difficile d'écrire import cv, cv2. .. ..
from bottle import route, run, template
import cv,cv2
import time
@route('/cv')
def index():
cnt = 0
cap = cv2.VideoCapture(0)
time.sleep(0.1)
ret,im = cap.read()
cv2.imwrite("camera.jpg ",im)
cap.release()
cascade = cv.Load("haarcascade_frontalface_default.xml")
cvim = cv.LoadImage("camera.jpg ")
faces = cv.HaarDetectObjects(cvim, cascade, cv.CreateMemStorage())
for (x,y,w,h),n in faces:
cnt = cnt + 1
cv.Rectangle(cvim, (x,y), (x+w,y+h), 255)
cv.SaveImage('dst.jpg',cvim)
return template('{{cnt}}', cnt=cnt)
run(host='127.0.0.1', port=8080)
Recommended Posts