我用我的覆盆子指数来检测我的猫什么时候在桌子上,而我在一些图像捕捉片段上遇到了一些麻烦。下面是我正在运行的相关代码:
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)有没有办法在内存中保存图像,或者做一些像camera.capture_continuous这样的事情?比卡米拉图像质量比较:

颜色要好得多,用的是:

我想每隔几秒钟捕捉一张图像,但不想为每一张图像写到磁盘上,否则我会很快烧掉我的存储卡。而且,瑞斯皮斯也很慢。
任何关于如何以恒定的速度捕获更高质量的图像的指示都将受到极大的赞赏!
编辑感谢下面的马克,我已经编辑了贴子到当前的问题在手边。
发布于 2021-11-14 11:46:11
根据这一点:How to make a temporary file in RAM?
您应该能够作为用户直接在RAM中分配一些空间(但您需要root权限)。
创建大小为500 MB的新挂载分区:
# this is bash, not python
mount -t tmpfs -o size=500m tmpfs /mountpoint并把它当作你拥有的任何其他空间
# this too
raspistill -n -w %s -h %s -o /mountpoint/image5.bmp --timeout 0发布于 2019-12-02 20:51:19
如果愿意,可以使用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)https://stackoverflow.com/questions/38985739
复制相似问题