OpenCV与图像处理(七)
时间:2022-07-22
本文章向大家介绍OpenCV与图像处理(七),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
以下代码均在python3.6,opencv4.2.0环境下试了跑一遍,可直接运行。
1、基于OpenCV中自带的HOG的行人检测分类器,实现行人检测
# *_*coding:utf-8 *_*
import cv2
import numpy as np
img = cv2.imread('person.jpg')
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) #使用opencv默认的模型
rects, _ = hog.detectMultiScale(img, winStride=(4,4), padding=(8,8), scale=1.05)
for (x,y,w,h) in rects:
cv2.rectangle(img, (x,y), (x+w,y+h), (0,0,255), 2)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
2、基于OpenCV中自带的Haar的人脸检测分类器,实现人脸人眼检测
1)人脸检测
# -*- coding: utf-8 -*-
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
img_path = 'face.jpg'
img = cv2.imread(img_path)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faceRects = face_cascade.detectMultiScale(gray,1.1,5)
for faceRect in faceRects:
x, y, w, h = faceRect
cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2, 8, 0)
cv2.namedWindow("image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
2)人脸人眼检测
# -*- coding: utf-8 -*-
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
eye_cascade = cv2.CascadeClassifier("haarcascade_eye_tree_eyeglasses.xml")
img_path = 'face.jpg'
img = cv2.imread(img_path)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faceRects = face_cascade.detectMultiScale(gray,1.1,5)
l=len(faceRects)
print(l)
for faceRect in faceRects:
x, y, w, h = faceRect
cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2, 8, 0)
roi_gray = gray[y:y+h,x:x+w]
roi_color = img[y:y+h,x:x+w]
eyes = eye_cascade.detectMultiScale(roi_gray,1.1,1,cv2.CASCADE_SCALE_IMAGE,(2,2))
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color, (ex,ey), (ex+ew,ey+eh), (0,255,0), 2)
cv2.namedWindow("image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
3、基于OpenCV中自带的LBP的人脸检测分类器,实现人脸检测
# -*- coding: utf-8 -*-
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier("lbpcascade_frontalface.xml")
img_path = 'face.jpg'
img = cv2.imread(img_path)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faceRects = face_cascade.detectMultiScale(gray,1.1,5)
for faceRect in faceRects:
x, y, w, h = faceRect
cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2, 8, 0)
cv2.namedWindow("image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
以上内容如有错误或者需要补充的,请留言!
- 中文分词之结巴分词~~~附使用场景+demo(net)
- 用微信二维码登录自己的网站
- 2620: [Usaco2012 Mar]Haybale Restacking
- 1671: [Usaco2005 Dec]Knights of Ni 骑士
- 1592: [Usaco2008 Feb]Making the Grade 路面修整
- Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EF.Extended
- 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
- 高性能替代反射调用的几种方式
- 1596: [Usaco2008 Jan]电话网络
- 1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- 1647: [Usaco2007 Open]Fliptile 翻格子游戏
- 1295: [SCOI2009]最长距离
- 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课
- 数据结构之哈夫曼树和编码器的构造
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Mysql系列第二十五讲 mysql如何确保数据不丢失?有几点值得我们借鉴
- 使用Jsch进行安全的文件上传及下载
- 你见过最烂的代码长什么样子?
- 集智智能课程表项目 实战指南
- ZeroLogon(CVE-2020-1472) 分析与狩猎
- 什么是数字资产?
- 我要偷偷的学Python,然后惊呆所有人(第一天)
- Python 中的上下文管理
- 我是如何阅读JDK源码的?
- Docker以root身份登录到容器
- SOAPUI访问WEBSERVICE案例
- 编译安装nginx
- 磁盘高可用解决方案(DBA).md
- Python 3.7 + HttpRunner 初探
- 数据库PostrageSQL-服务器配置(复制)