首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种快速的方法记录图像与raspistill在一个覆盆子Pi 4B和HQ相机模块?

有没有一种快速的方法记录图像与raspistill在一个覆盆子Pi 4B和HQ相机模块?
EN

Stack Overflow用户
提问于 2021-07-12 11:27:06
回答 1查看 423关注 0票数 1

我想用Raspberry Pi HQ相机模块记录多幅图像(例如50张)。这些图像是用简单的命令行raspistill -ss 125 -ISO 400 -fli auto -o test.png -e png记录的。因为我必须记录.png文件,所以图像尺寸是3040x4056。如果我运行一个简单的bash脚本,其中包含50行命令行,那么图像之间似乎有很长的“处理时间”。

那么,有没有办法一个接一个地记录50幅这样的图像,而不加任何延迟(或者至少是很短的延迟)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-12 14:19:45

我怀疑您能否在命令行上使用raspistill来完成这一任务--尤其是尝试快速编写PNG图像。我认为您需要按照以下思路迁移到Python --从这里改编而来。注意,图像是在RAM中获取的,因此在获取阶段没有磁盘I/O。

将下列内容保存为acquire.py

代码语言:javascript
复制
#!/usr/bin/env python3

import time
import picamera
import picamera.array
import numpy as np

# Number of images to acquire
N = 50

# Resolution
w, h = 1024, 768

# List of images (in-memory)
images = []

with picamera.PiCamera() as camera:
    with picamera.array.PiRGBArray(camera) as output:
        camera.resolution = (w, h)
        for frame in range(N):
            camera.capture(output, 'rgb')
            print(f'Captured image {frame+1}/{N}, with size {output.array.shape[1]}x{output.array.shape[0]}')
            images.append(output.array)
            output.truncate(0)

然后通过以下方式使其可执行:

代码语言:javascript
复制
chmod +x acquire.py

并与以下人员一起奔跑:

代码语言:javascript
复制
./acquire.py

如果您想以PNG的形式将映像列表写入磁盘,您可以使用以下内容(未经测试),并将PIL添加到上面代码的末尾:

代码语言:javascript
复制
from PIL import Image

for i, image in enumerate(images):
    PILimage = Image.fromarray(image)
    PILImage.save(f'frame-{i}.png')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68346580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档