python+opencv实现摄像头调用的方法

yipeiwu_com7年前Python基础

最近入了一块树莓派,想让其实现摄像头的调用,因此写下此博客备忘

一、树莓派网络的配置

首先,对树莓派进行网络配置,否则就无法进行软件的安装

我们知道,ifconfig命令可以修改ip地址、子网掩码等信息,但是当设备重启之后必须重新设置

因此,我们使用如下方法进行网络配置

修改/etc/network/interfaces

其中,红色框选中的为需要修改的部分

auto eth0             //设为开机启动eth0
iface eth0 inet static      //设为静态ip
address 10.215.45.99       //ip地址
netmask 255.255.0.0        //子网掩码
gateway 10.215.250.250      //网关
 
dns-nameservers 114.114.114.114  //设置dns服务器

设置完毕重新启动网络服务

service networking restart

终端输入ping www.baidu.com,发现成功ping通,则表示配置成功

网络配置完成后,请更换树莓派的更新源,在此就不赘述

二、python-opencv的安装

终端输入

apt-get install python2.7-dev    //本人的python版本为2.7
apt-get install python-opencv    //python2的cv安装直接运行此命令即可

终端输入python,在python界面下输入import cv2,如果没有报错信息,则表示安装成功

如果安装不成功,可以使用python的包管理工具pip进行opencv-python(opencv的python接口)的安装

apt install python-pip     //安装pip
pip --version         //查看pip的版本信息
 
pip install opencv-python   //安装opencv-python

接下来就可以运行实例检测是否配置成功

# by Bend_Function
 
import cv2
cap = cv2.VideoCapture(0)        # 打开摄像头
 
while True:
  ret, frame = cap.read()       # 读摄像头
  cv2.imshow("video", frame) 
  if cv2.waitKey(1) & 0xFF == ord('q'):  # 按q退出
    break
    
cap.release()      
cv2.destroyAllWindows()    # 基本操作

终端输入

python test.py(文件名)

但是却出现错误提示如下:

cv2.error: /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/modules/highgui/src/window.cpp:269: error: (-215) size.width>0 && size.height>0 in function imshow

就在我百思不得其解时,突然意识到了我的摄像头还没有插!

果然,插上摄像头就成功显示了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3 Tkinter选择路径功能的实现方法

Python3 Tkinter选择路径功能的实现方法

效果基于Python3。 在自己写小工具的时候因为这个功能纠结了一会儿,这里写个小例子,供有需要的参考。 小例子,就是点击按钮打开路径选择窗口,选择后把值传给Entry输出。 效果预览...

Python 数据结构之堆栈实例代码

Python 堆栈 堆栈是一个后进先出(LIFO)的数据结构. 堆栈这个数据结构可以用于处理大部分具有后进先出的特性的程序流 . 在堆栈中, push 和 pop 是常用术语:...

浅谈Python中eval的强大与危害

eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。想象一下变量赋值时,将等号右边的表达式写成字符串的格式,将这个字符串作为eval的参数,eval的返...

Scrapy框架使用的基本知识

scrapy是一个基于Twisted的异步处理框架,可扩展性很强。优点此处不再一一赘述。 下面介绍一些概念性知识,帮助大家理解scrapy。 一、数据流向 要想熟练掌握这个框架,一定要明...

用TensorFlow实现lasso回归和岭回归算法的示例

用TensorFlow实现lasso回归和岭回归算法的示例

也有些正则方法可以限制回归算法输出结果中系数的影响,其中最常用的两种正则方法是lasso回归和岭回归。 lasso回归和岭回归算法跟常规线性回归算法极其相似,有一点不同的是,在公式中增加...