fly*_*all 6 python opencv raspberry-pi
我正在使用我的树莓派来检测我的猫何时在桌子上,但我在一些图像捕获部分遇到了一些麻烦。这是我正在运行的相关代码:
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)
Run Code Online (Sandbox Code Playgroud)
有没有办法将 raspistill 图像保留在内存中或执行类似camera.capture_continuous 的操作?比较 picamera 图像的质量:
使用 raspistill 后颜色更好:
我想每隔几秒钟捕获一张图像,但不想将每个图像写入磁盘,否则我会很快烧毁我的存储卡。而且,raspistill 速度相当慢。
任何有关如何以恒定速率捕获更好质量图像的指示将不胜感激!
编辑感谢下面的马克,我已经编辑了当前问题的帖子。
小智 0
如果需要,您可以使用 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4686 次 |
| 最近记录: |