- GCC 4.4.x 或者更高版本
- CMake 2.6 或者更高版本
- Git
- GTK+2.x 或者更高, 包括头文件 (libgtk2.0-dev)
- pkg-config
- Python
- Numpy
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo pip install numpy
这些都是前戏,接下来进入正题。
在你想要安装opencv的文件夹,输入
git clone https://github.com/opencv/opencv.git
我们从git源码安装opencv
文章图片
我们进入opencv
接下来分为这么几步:
- 创建一个临时文件夹,并进入
- cmake我们的opencv
- 安装
mkdir release#创建一个临时文件夹cd release#进入它cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. #cmake我们的opencvmakesudo make install#安装
其中有一步,在
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
中,我们可能会有一些东西下载不下来,这时候我们可以从通过手工下载。 这里给一个链接http://blog.csdn.net/yiyuehuan/article/details/52951574。
这样就安装好了opencv环境,但如果我们需要用python使用它的接口,我们还需要下载一些东西
python与opencv接口
pip install numpy
pip install Matplotlib
pip install opencv-python
我们需要下载这三个模块,就可以了。
等我们下载完,就可以使用opencv的cv2模块来进行python编程了。
我们来一个简单的人脸识别,我是看了http://blog.csdn.net/Marksinoberg/article/details/52443214这篇博客,来学习的。
但是其中有些东西已经不适合现在的了,我在这里更新一下。
# coding:utf-8import cv2# 待检测的图片路径
img_path = '2.jpg'
Classifier_path = '/media/asahi/数据/所有下载/opencv-3.3.1/data/haarcascades/haarcascade_frontalface_default.xml'
#这个路径表示,我们下载的opencv中自带的haarcascade_frontalface_default特征集,用的时候只需
#把/media/asahi/数据/所有下载/opencv-3.3.1/,换成你自己的路径就行了face_cascade = cv2.CascadeClassifier(Classifier_path)# 读取图片image = cv2.imread(img_path)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 探测图片中的人脸faces = face_cascade.detectMultiScale(gray,scaleFactor=1.15,minNeighbors=5,minSize=(5, 5),flags=cv2.CASCADE_SCALE_IMAGE#因为现在opencv也升级成了3,所以cv2.cv也不存在了)for (x, y, w, h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
# cv2.circle(image, ((x + x + w) / 2,
#(y + y + h) / 2),
#w / 2,
#(0, 255, 0),
#float(2))cv2.imshow("Find Faces!", image)cv2.waitKey(0)
还有一个坑,博主这里的Ubuntu还配置了ROS系统,如果直接运行是要报错的。
比如
Traceback (most recent call last):
File "/media/asahi/办公/work/py/learning_opencv/learning_01.py", line 10, in
import cv2
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
查了一下,应该ros在搞事。我没有更好的办法只能吧/.bashrc中的最后链接到ros的语句给注释了。
文章图片
然后重启终端,就可以运行了。
【opencv|ubuntu16.04配置opencv 实现人脸识别】
文章图片
推荐阅读
- sklearn|机器学习-处理鸢尾花数据集
- kmean算法理解
- python入门
- python-office自动化办公(Word批量转PDF)
- Python 工匠(使用数字与字符串的技巧)
- # yyds干货盘点 # 盘点一道Python中的yield生成器的题目
- Python反爬,JS反爬串讲,从MAOX眼X开始,本文优先解决反爬参数 signKey
- G005-OS-LIN-UBUN-01 Ubuntu Desktop 22.04 安装
- 用两种程序解决百钱买百鸡问题