树莓派上获取视频数据与笔记本上获取视频的不同

最近做毕业设计要做一个基于机器人视觉的目标识别系统,开始用的stm32,后来速度不够,用上了树莓派。这图像处理第一步就是获取视频数据帧,在这个上面折腾了一会,于是贴出来方便后来者移植使用。

1.使用笔记本获取视频数据
这里可以直接用VideoCapture(0)获取到一个视频对象,cap,cap.read()返回一个布尔值。以及每一帧的对象 frame。方便进行处理

import cv2
import numpy as np

cap =cv2.VideoCapture(0)
while(True):
    ret,frame=cap.read()
    gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF==ord('q'):
        break;
cap.release()
cv2.destroyWindows()

2.使用树莓派进行处理
使用树莓派本来有两种方法,一种是用其自带的raspistill命令,这里推荐使用picamera的python库,十分好用也十分强大。

from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 32
rawCapture = PiRGBArray(camera, size=(640, 480))
time.sleep(0.1)
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
    image = frame.array
    #使用获取的帧image进行转换成与笔记本上的frame相同
    cv2.imshow("Frame", image)
    key = cv2.waitKey(1) & 0xFF
    rawCapture.truncate(0)
    if key == ord("q"):
        break

3.移植方法
下文中获取的image就是电脑中获取的frame,而后进行处理就行。
但是要注意的是 树莓派上容易报错
需要加上
rawCapture.truncate(0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值