基于Dragonboard 410c开发板的USB摄像头实现实时视频采集

视频采集和显示是很多应用的基础,特别是在diy自己的创意的过程中,如果增加实时的视频采集和显示,可以让自己的diy变得更加高大上,之前用c语言和pc机器做视频采集的时候,采用c语言或者java语言,需要些大量的代码才能实现整个采集和记录过程,这里如果你使用的是dragonbaord 410c开发板来进行开发,你的开发将变得异常简单,连你自己都不敢想性,我们只需要通过简单的几句代码就可以方便的实现整个视频采集的功能。
首先按照前面的usb摄像头图像采集的方式接好我们的dragonboard 410c开发板,然后我们就可以准备开发和写代码了,这里选择的代码语言依然是python,也就是我们前面使用过的神奇的python,通过python可以让我们的代码变得更简单,当然,在性能上相对于c语言稍微逊色一点,但是依托我们dragonbaord 410c提供的强大处理功能,这点点性能我们在使用简单的视频采集功能的时候完全感觉不到,我们将看到我们采集到的实时视频依然可以保持流畅的速度。
然后我们准备编写代码:
代码开始我们通过import 语句导入cv2库,如果导入失败,请安装cv2库,安装的具体步骤如下:
{
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install python-opencv -y
}/// 安装步骤不属于代码
import cv2, sys
#同时我们这里设计了一个小功能,在获取的视频上写入一些文本标记视频信息,这里我们定义一个容器用于描述字体
# constants
device_number = 0
font_faces = [
cv2.font_hershey_simplex,
cv2.font_hershey_plain,
cv2.font_hershey_duplex,
cv2.font_hershey_complex,
cv2.font_hershey_triplex,
cv2.font_hershey_complex_small,
cv2.font_hershey_script_simplex,
cv2.font_hershey_script_complex

#初始化web摄像头
# init webcam
vc = cv2.videocapture(device_number)
# check if the webcam init was successful
if vc.isopened(): # try to get the first frame
retval, frame = vc.read()
else:
sys.exit(1)
#读取摄像头数据显示
# if webcam read successful, loop indefinitely
while retval:
# write some text onto the frame
font_typeface = font_faces[5]
font_scale = 2
font_color = (0,0,255)
font_weight = 5
x = 0
y = 50
cv2.puttext(frame, “[live]”, (x,y), font_typeface, font_scale, font_color, font_weight)
# show the image on the screen
# http://docs.opencv.org/2.4/modules/highgui/doc/user_interface.html#imshow
cv2.imshow(“db410c workshop #3: show video”, frame)
# grab next frame from webcam
retval, frame = vc.read()
# 设置一个等待退出键,按下该键退出监视
# http://docs.opencv.org/2.4/modules/highgui/doc/user_interface.html#waitkey
if cv2.waitkey(1) == 27:
break
以上就是整个实现视频采集的python代码,这里我们将代码保存为vedio.py,然后在代码文件目录下运行python vedio.py 就可以在dragonbaord 410c上启动usb摄像头实时采集图像进行显示了,其效果如下:

金立M2017评测:金立M2017走商务风,6GB+骁龙653要价6999!
关于汽车无线充电技术的工作原理
自动点烟器电路原理
手机SIM卡和银行卡芯片封装和bga底部填充胶方案
歌尔光学新一代VR/AR光学模组亮相VR&AR显示光学技术峰会
基于Dragonboard 410c开发板的USB摄像头实现实时视频采集
如何实现具有RTD级精度且无需校准快速温度传感器设计
LM339电压比较器的常用方法
双路热电偶方案
科罗拉多州证券监管机构对另外四家涉嫌非法行为的ICOs进行了严厉打击
中控智慧科技指纹读头FR1200介绍
国民技术MCU助力呈现冬奥会视觉盛宴
电感电感量的大小与哪些因素有关
ARM发布了两款Edge AI 的芯片参考设计:ARM Cortex-M55和Ethos-U55
5G和物联网之间有什么秘密
苹果iOS6发布,Siri新增中国本土化定制
云计算会给分布式存储带来什么新的的影响
市面上成熟的物联网卡运营商
无线Wi-Fi免费么?女子连医院Wi-Fi收巨额话费单
销售火爆!小米11首销两万名用户选择标准版