Python 为处理Picamera而捕获图像的最快方法

Python 为处理Picamera而捕获图像的最快方法,python,opencv,raspberry-pi,camera-calibration,Python,Opencv,Raspberry Pi,Camera Calibration,我使用picamera模块和pi来捕获图像,并使用openCV库一次处理一个图像 目前,我以320x240的分辨率这样做(我可以在循环运行的20秒内获得大约30张图像) 我希望您能深入了解如何尽可能减少捕获时间——理想情况下,使处理成为限制因素 谢谢 如果您正在捕获帧并在同一迭代中处理它,那么速度这么慢是有道理的。但这种行为还有其他原因。您应该提供一个完整的最小示例来重现此行为。必须有某种原始格式,如“bgr”之类。你可能不需要对jpeg进行编码/解码(这相当昂贵)啊,好吧,是的,你可以像照相机

我使用picamera模块和pi来捕获图像,并使用openCV库一次处理一个图像

目前,我以320x240的分辨率这样做(我可以在循环运行的20秒内获得大约30张图像)

我希望您能深入了解如何尽可能减少捕获时间——理想情况下,使处理成为限制因素


谢谢

如果您正在捕获帧并在同一迭代中处理它,那么速度这么慢是有道理的。但这种行为还有其他原因。您应该提供一个完整的最小示例来重现此行为。必须有某种原始格式,如“bgr”之类。你可能不需要对jpeg进行编码/解码(这相当昂贵)啊,好吧,是的,你可以像照相机一样编码为rgb。capture('image.data','rgb')将在我有机会时尝试实现它,看看它是否有用,尽管我想我必须以某种方式改变我的openCV处理。推荐的捕获方法是,因为您似乎只需要灰度图像,所以选择“yuv”,并分离第一个通道(y)可能是最快的方法
while((now - start) < 20):
        image_count+=1
        try:
            stream = io.BytesIO()
            camera.capture(stream, format='jpeg', use_video_port = True)
image= cv2.imdecode(stream, 1)
grey_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #continuous_capture breaks here.