主页

前言

Python是现如今在人工智能领域较为热门的编程语言,因其简洁的语言风格、丰富的类库支持以及具有活跃的交流社区,受到广大开发者的喜爱。起初,python是一门辅助科学研究的一门语言,但因其在当今大热的大数据、人工智能领域得到大量运用,受到众多开发人员的追捧。Python也同样可在树莓派中运行,毕竟树莓派就是一台简易的Linux电脑。

那我们该如何在利用python在树莓派中进行人脸识别呢?这就需要用到一个库 opencv(当然也其他库可供选择,这里就只介绍opencv)

什么是opencv

OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.

不管你是做科学研究,还是商业应用,opencv都能够作为你理想的工具库,由于,对于这两者,它全然是免费的。
该库採用C及C++语言编写,能够在windows, linux, mac OSX系统上面执行。该库的全部代码都经过优化,计算效率非常高,由于,它更专注于设计成为一种用于实时系统的开源库。opencv採用C语言进行优化,并且,在多核机器上面,其执行速度会更快。它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器视觉产品能够加速面世。该库包括了横跨工业产品检測、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉等领域的超过500个接口函数。

同一时候,由于计算机视觉与机器学习密不可分,该库也包括了比較经常使用的一些机器学习算法。也许,非常多人知道,图像识别、机器视觉在安防领域有所应用。但,非常少有人知道,在航拍图片、街道图片(比如google street view)中,要严重依赖于机器视觉的摄像头标定、图像融合等技术。
近年来,在入侵检測、特定目标跟踪、目标检測、人脸检測、人脸识别、人脸跟踪等领域,opencv可谓大显身手,而这些,不过其应用的冰山一角。

现在,来自世界各地的各大公司、科研机构的研究人员,共同维护支持着opencv的开源库开发。这些公司和机构包括:微软,IBM,索尼、西门子、google、intel、斯坦福、MIT、CMU、剑桥。

安装最新python版本

为了确保一些最新的东西能够被使用,我建议有必要安装一个python3x版本。目前网上一些最新的教程基本都使用的python3版本,python3相对于python2进行了一些重构,因此能在python3上运行的代码在python2不一定能运行,为了避免一些不必要的麻烦,安装一个最新版本的python显得非常重要。

安装 python3
在下载前若你没有更换软件源,为了节约下载时间,建议更换软。什么?不知道如何更换软件源?请看这《更换软件源
当然,要是你时间不是问题,你大可忽略。

1、在命令窗口输入如下指令下载python3:

sudo apt install python3

2、删除掉原先 python 的链接

sudo rm /usr/bin/python

3、创建一个新的链接指向刚刚安装的 python3

sudo ln -s /usr/bin/python3 /usr/bin/python

4、测试

在命令窗口输入

 python3

若能正常输出python3x版本则安装成功。

安装opencv

python3在树莓派中安装opencv的方式有两种,一种是编译安装,另一种是pip命令安装。前者编译安装往往需要花费数小时时间,出现错误也会被整的挺烦躁的,对于大型项目就建议使用编译安装,但对于我们这些做些小项目的初学者,pip命令安装仅需几分钟就能完成,何乐而不为呢。

这里我只介绍pip安装。当然,如果你有编译安装的需求可看这篇文章:https://zhuanlan.zhihu.com/p/46032511

1、安装依赖

请逐条执行以下命令:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libhdf5-dev libhdf5-serial-dev
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev

这些安装包保证了OpenCV的基础运行

2、安装opencv

sudo pip3 install --no-cache-dir  opencv-contrib-python==3.4.3.18

经过几分钟的等待之后,opencv就可安装完成了。

3、测试是否成功安装

依次运行如下指令:

sudo python3
>>> import cv2
>>> print(cv2.__version__)

能正常输出安装版本则代表安装成功。

在python中运行opencv

在树莓派自带的python IDE中运行以下代码即可调用摄像头。

什么?你不知道如何在树莓派安装摄像头?请看这篇文章:《树莓派摄像头

python代码:

import cv2  # 导入库
cap = cv2.VideoCapture(0)  # 开启摄像头

# 循环读取图像
while True:
    ok, img = cap.read()  # 读取摄像头图像
    if ok is False:
        print('无法读取到摄像头!')
        break
    
    # 展示图像
    cv2.imshow('image', img)

    k = cv2.waitKey(10)  # 键盘值
    if k == 27:   # 通过esc键退出摄像
        break

# 关闭摄像头
cap.release()
cv2.destroyAllWindows()

运行效果
1590821227(1).png

结尾

到这里OpenCV就安装成功了,对于图像识别你有啥想法就尽情尝试吧~

参考来源

什么是opencv:https://blog.csdn.net/wtfloser/article/details/89315982
升级树莓派python版本:https://www.jianshu.com/p/61b3119ab3f5
在树莓派上安装基于python3的OpenCV:https://zhuanlan.zhihu.com/p/92184435

树莓派 opencv 图像识别

版权属于:Asnull
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0
查看目录

目录

来自 《在树莓派上基于Python3安装OpenCV》
评论

博主很懒,啥都没有
43 文章数
23,332 评论量
5 分类数
48 页面数
已在风雨中度过 54年325天6小时46分