Я пытаюсь запустить алгоритм обнаружения объектов на веб-сайте.На самом деле я не знаю, как я могу загрузить его в HTML с помощью колбы
На самом деле я попробовал то же самое с кнопкой, и это работает, но для видео моя камера выключается и программа закрывается
class Detection():
def __init__(self,colors=np.random.uniform(0,255,size=
(len(values.objects),3)),
net=cv2.dnn.readNetFromCaffe("model.prototxt.txt","deploy.caffemodel")):
self.colors=colors
self.net=net
print("Init...")
f = open("model.prototxt.txt")
print(f)
def main(self):
video=VideoStream(src=0).start()
fps=FPS().start()
while True:
frame=video.read()
frame=imutils.resize(frame,width=400)
print(frame)
(h,w)=frame.shape[:2]
blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)),
0.007843, (300, 300), 127.5)
self.net.setInput(blob)
detections = self.net.forward()
for i in np.arange(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.2:
idx = int(detections[0, 0, i, 1])
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
label = "{}: {:.2f}%".format(values.objects[idx],confidence * 100)
cv2.rectangle(frame, (startX, startY), (endX, endY),
self.colors[idx], 4)
y = startY - 15 if startY - 15 > 15 else startY + 15
cv2.putText(frame, label, (startX, y),
cv2.FONT_ITALIC, 2, self.colors[idx], 2)
cv2.imshow("Object detection", frame)
key = cv2.waitKey(1) & 0xFF
fps.update()
fps.stop()
cv2.destroyAllWindows()
self.video.stop()
return
И часть колбы
app = Flask(__name__)
vc = cv2.VideoCapture(0)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/video_feed')
def video_feed():
return Response(dnn.Detection(),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='192.168.0.122', debug=True, threaded=True)
Когда я пытаюсь запустить этот скрипт, он показывает: не удается подключиться к X-серверу