gpt4 book ai didi

python - Raspberry Pi 在 python 与 raspistill 中捕获的图像质量

转载 作者:行者123 更新时间:2023-12-03 20:25:36 26 4
gpt4 key购买 nike

bounty 7 天后到期。此问题的答案有资格获得 +100 声望奖励。
Joseph Palermo正在寻找这个问题的更详细的答案:

The only current answer doesn't address the core question of how to capture images of quality equal to raspistill via PiCamera.








我正在使用我的 raspberry pi 来检测我的猫何时在 table 上,并且我在使用一些图像捕获部分时遇到了一些麻烦。这是我正在运行的相关代码:
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
import subprocess

#method 1
with PiCamera() as camera:
capImg = PiRGBArray(camera)
time.sleep(0.1)
camera.capture(capImg,format = 'bgr')
image = capImg.array
cv2.imwrite('image4.bmp',image)

#method 2
callString = 'raspistill -n -w %s -h %s -o /home/pi/python/catcam/image5.bmp --timeout 0' % (640,480)
subprocess.call(callString, shell = True)

有没有办法将 raspistill 图像保留在内存中或执行诸如 camera.capture_continuous 之类的操作?比较picamera图像的质量:

enter image description here

使用 raspistill 的颜色要好得多:

enter image description here

我想每隔几秒钟捕获一个图像,但不想为每个图像都写入磁盘,否则我会很快烧毁我的存储卡。此外,raspistill 很慢。

任何有关如何以恒定速率捕获更好质量图像的指示将不胜感激!

编辑 感谢下面的马克,我已经编辑了手头当前问题的帖子。

最佳答案

如果需要,您可以使用 Python 调用 raspistill。这是一个示例,它以第二个延迟重复运行 raspistill 命令:

from time import sleep
from datetime import datetime
import subprocess

dir = "/home/pi/Desktop/cam_images/"

while (True):
fileName= "img_" + datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + ".jpg"
cmd = "raspistill -o " + dir + fileName
subprocess.call(cmd, shell=True)
sleep(1)

关于python - Raspberry Pi 在 python 与 raspistill 中捕获的图像质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38985739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com