专栏首页python3opencv-python 基本例子3个

opencv-python 基本例子3个

其中的内容均参考自官网的说明: http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html

显示图片-Gui Features in OpenCV-

# 显示图片
import cv2


img = cv2.imread("./animal.jpg", cv2.IMREAD_COLOR )
cv2.namedWindow("Image")
cv2.imshow("Image", img)

print "save press s, exit press esc"
key = cv2.waitKey (0)

if key == 27:
    cv2.destroyAllWindows()
elif key == ord('s'):
    cv2.imwrite("wirte.png", img)
    cv2.destroyAllWindows()

绘制图形-Gui Features in OpenCV-

# drawing

import numpy
import cv2

# Create a black image
img = numpy.zeros((512,512,3), numpy.uint8)

# Draw a diagonal blue line with thickness of 5 px
cv2.line(img,(0,0),(511,511),(255,0,0),5)

# draw a rectangle
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)

# draw a circle
cv2.circle(img,(447,63), 63, (0,0,255), -1)

# add text
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'Meng', (10,500), font, 4, (255,255,255), 2)
# cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)   # cv2.LINE_AA not found

# write file to disk
# cv2.namedWindow("Image")

cv2.imshow("Image", img)
key = cv2.waitKey (0)
cv2.destroyAllWindows()

3.人脸识别

参考文档: http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html#face-detection

其中具体如何训练见文档,这里教大家如何使用训练好的xml文件。

haarcascade_frontalface_default.xml

haarcascade_eye.xml

这两个文件在解压的源代码路径 opencv-3.2.0/data/haarcascades/ 目录下,手动拷贝一下就可以了,代码如下

# face detection

import numpy
import cv2

face_cascade = cv2.CascadeClassifier("data/haarcascade_frontalface_default.xml")
eye_cascade = cv2.CascadeClassifier('data/haarcascade_eye.xml')

img = cv2.imread("wbq.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

效果稍微有点偏差,比如说大峰哥这个图。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手势识别中一些错误解决方法

    最近在看一个手势识别的项目时,遇到了一些错误,主要原因是该项目是使用python2.7+opencv2.4.8,而我的环境是python3.5.2+opencv...

    py3study
  • 对象发现

    近段时间,做了一些关于对象发现的工作。主要内容是从图片中识别出液滴,并统计其数量。在这个过程中遇到了一些问题,也发现了几种相关的解决方案,在这里与大家分享一下。

    py3study
  • 【AI基础】python:opencv—

    学习使用OpenCV画几何图形,主要的函数为:cv2.line(),cv2.circle(),cv2.rectangle(),cv2.ellipse(),cv2...

    py3study
  • 用opencv给图片换背景色的示例代码

    OpenCV函数:cv2.blur(), cv2.GaussianBlur(), cv2.medianBlur(), cv2.bilateralFilter()

    砸漏
  • OpenCV:人脸检测。

    小F
  • OpenCV与图像处理(二)

    以下代码均在python3.6,opencv4.2.0环境下试了跑一遍,可直接运行。

    长风破浪
  • 如何用OpenCV在Python中实现人脸检测

    https://github.com/maelfabien/Machine_Learning_Tutorials

    机器之心
  • OpenCV 系列教程5 | OpenCV 图像处理(中)

    霍夫变换是一种特征提取技术,主要应用于检测图像中的直线或者圆。 OpenCV 中分为霍夫线变换和霍夫圆变换。

    机器视觉CV
  • OpenCV:目标跟踪。

    下面就通过计算视频帧之间的差异(即考虑背景帧和其他帧之间的差异),进而实现目标跟踪。

    AiTechYun
  • 手势识别中一些错误解决方法

    最近在看一个手势识别的项目时,遇到了一些错误,主要原因是该项目是使用python2.7+opencv2.4.8,而我的环境是python3.5.2+opencv...

    py3study

扫码关注云+社区

领取腾讯云代金券