如何从网络摄像头捕获图片并通过烧瓶发送

时间:2014-11-13 17:46:19

标签: python flask python-imaging-library

我想在烧瓶响应中发送一个Image对象,但它给了我一个错误。我也试过StringIO的方法。

image = Image.open("./static/img/test.jpg")
return send_file(image, mimetype='image/jpeg')

这只是一个测试用例。因此,主要问题是从 / dev / video0 捕获图像并将其发送(理想情况下没有临时存储在磁盘上)到客户端。我使用v4l2capture。如果您可以为该任务提供更好的解决方案,那么测试图也应该有效。

import select
import v4l2capture
video = v4l2capture.Video_device("/dev/video0")
size_x, size_y = video.set_format(1280, 1024)
video.create_buffers(1)
video.queue_all_buffers()
video.start()
select.select((video,), (), ())
image_data = video.read()
video.close()
image = Image.fromstring("RGB", (size_x, size_y), image_data)

感谢。

修改

立即行动。作为v4l2capture的更好的解决方案是受欢迎的......

1 个答案:

答案 0 :(得分:0)

用它做过。

image = Image.open("./static/img/test.jpg")
img_io = StringIO()
image.save(img_io, 'JPEG', quality=70)
img_io.seek(0)
return send_file(img_io, mimetype='image/jpeg')