| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> OpenCV-Python <七> 级联分类器 -> 正文阅读 |
|
[人工智能]OpenCV-Python <七> 级联分类器 |
OpenCV中,提供了三种级联分类器--- Haar级联分类器,Hog特征和LBP算法的级联分类器。 为了训练针对特定类型对象的级联分类器, OpenCV提供了专门的工具, build/x86/vc12/bin目录下,有opencv_createsamples.exe, opencv_traincascade.exe。 1. 训练过程: 2. 使用级联分类器: 可以使用opencv中一些训练好的级联分类器。这些分类器可以用来检测人脸,脸部特征(眼睛,鼻子),人体和其它物体。他们放在opencv/data目录。 包含 haarcascades, hogcascades, lbpcascades,haarcascades_cuda等。 2.1:使用介绍: 2.1.1:加载级联分类器: <CascadeClassifier object> = cv2.CascadeClassifier(filename) filename:级联分类器的路径和名称。 产生一个级联分类器object. 这里曾出过一个问题: 直接下载github中opencv 官方模型如:haarcascade_frontalcatface.xml。 加载时会报错: SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set 后来下载OpenCV整个Source Code,指定filename到对应xml文件,则正常了。没太搞清楚是怎么回事。 2.1.2:检测目标:
用来检测输入image中是否有目标。 参数: image: 待检测图像。 通常为灰度图。 scaleFactor: 前后两次扫描中, 搜索窗口的缩放比例。 缺省为1.1 minNeighbors:检测目标的相邻矩形的最小个数。缺省为3. 表示有3个以上的检测标记存在时,才认为目标存在。如果希望提高精准率,则可以提高这个值。 minSize: 目标的最小尺寸。小于这个尺寸的目标被忽略。 maxSize:目标的最大尺寸。大于这个尺寸的目标被忽略。 返回值: objects: as a list of rectangles 返回值是个ndarray.? shape: (N, 4) 每一行是一个rectangle:? x, y, w, h 实例: import cv2 import numpy as np import sys def face_detector(img): face_detect = cv2.CascadeClassifier(r"E:\current\svn_python\OpenCV_Study\opencv\opencv_opencv\data\haarcascades\haarcascade_frontalface_alt.xml") face_detect = cv2.CascadeClassifier( r"models/haarcascade_frontalface_default.xml") gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_detect.detectMultiScale(gray) print(type(faces[0])) print(faces.shape) # print(faces) for x, y, w, h in faces: cv2.rectangle(img, (x,y), (x+w, y+h), (0,0,255), 2) cv2.imshow("Image", img) cv2.waitKey(0) cv2.destroyAllWindows() def face_pixelated(file_name): img = cv2.imread(file_name, cv2.IMREAD_COLOR) if (img is None): print("Read File Error.") sys.exit() face_detector(img) if __name__ == "__main__": face_pixelated("images/ab.jpeg") |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:31:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |