OpenCV初步

简介: 安装OpenCV基本要求:Python2.7Virtualenv$ brew install opencv创建项目目录$ mkdir learn_cv & cd $_$ virtualenv venv将OpenC...

安装OpenCV

基本要求:

  • Python2.7
  • Virtualenv
$ brew install opencv

创建项目目录

$ mkdir learn_cv  & cd $_
$ virtualenv venv

将OpenCV的链接库添加到python的site-packages内

$ cd /venv/bin/lib/site-packages
$ ln -s /usr/local/opt/opencv/lib/python2.7/site-packages/cv2.so cv2.so

激活virtualenv然后安装opencv-python

(venv) $ pip install opencv-python

从靜态图片识别人脸

具体流程如下:

  1. 调用imread读入目标图片
img = cv2.imread("abba.png")
  1. 使用cvtColor方法使图片灰度化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  1. 读入训练模型
face_cascade = cv2.CascadeClassifier(r'./data/haarcascades/haarcascade_frontalface_default.xml')

调用 detectMultiScale方法识别图中的人脸

faces = face_cascade.detectMultiScale(
    gray,
    scaleFactor=1.1,
    minNeighbors=5,
    minSize=(30, 30),
    flags=cv2.CASCADE_SCALE_IMAGE
)

将图中的人脸用方框圈出

for (x, y, w, h) in faces:
    cv2.rectangle(img, (x, y), (x + w, y + w), (0, 255, 0), 2)

将重画过的图片显示到窗口中:

cv2.imshow("preview", img)
cv2.waitKey(0)

如果不调用waitKey(0)窗口会马上关闭,那样就看不到输出的效果了。

以下为本示例的全部代码

from __future__ import print_function

import cv2

img = cv2.imread("abba.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

face_cascade = cv2.CascadeClassifier(r'./data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(
    gray,
    scaleFactor=1.1,
    minNeighbors=5,
    minSize=(30, 30),
    flags=cv2.CASCADE_SCALE_IMAGE
)

print("{0} faces detected!".format(len(faces)))

for (x, y, w, h) in faces:
    cv2.rectangle(img, (x, y), (x + w, y + w), (0, 255, 0), 2)

cv2.imshow("preview", img)
cv2.waitKey(0)
相关文章
|
4月前
|
机器学习/深度学习 算法 计算机视觉
OpenCV介绍
【7月更文挑战第27天】OpenCV介绍。
39 3
|
3月前
|
存储 机器学习/深度学习 程序员
OpenCv探索
OpenCv探索
52 9
|
3月前
|
存储 人工智能 算法
OpenCV
关于使用OpenCV库进行图像处理的教程,包括了图像的读取、显示、获取、修改、保存、基本绘图操作以及图像的缩放、平移和旋转等处理方法。
43 0
|
5月前
|
计算机视觉
OpenCV自带颜色表
OpenCV自带颜色表
|
文字识别 计算机视觉
OpenCV演示程序 汇总
OpenCV演示程序 汇总
OpenCV-浮雕&雕刻效果
OpenCV-浮雕&雕刻效果
109 0
|
机器学习/深度学习 人工智能 算法
opencv
OpenCV(Open Source Computer Vision Library,开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库,它包含了许多图像处理、视频分析和计算机视觉方面的功能。OpenCV 的目的是为人工智能、
223 0
|
计算机视觉
opencv遇到问题总结一
opencv遇到问题总结一
64 0
|
存储 编解码 算法
09 OpenCV图形检测
cv2.findContours() 函数是OpenCV中用于寻找轮廓的函数之一。它可以用于在二值图像中查找并检测出所有的物体轮廓,以及计算出这些轮廓的各种属性,例如面积、周长、质心等。
|
机器学习/深度学习 监控 算法
opencv
OpenCV是一个开源的计算机视觉库,可以用于图像处理、计算机视觉和机器学习等领域。OpenCV最初由Intel公司开发,后来在开放源代码许可证下发布,目前已经成为了计算机视觉领域最受欢迎的开源库之一。
375 0