计算机视觉基础之Task03

介绍

Harr+AdaBoost 可视为目标检测,人脸检测的开山鼻祖

理论介绍

Haar-like 特征

  • Haar(哈尔)特征分为三类:边缘特征、线性特征、中心特征和对角线特征

计算特征

特征矩阵

  • 通过改变特征模板的大小和位置,可在图像子窗口中穷举出大量的特征。上图的特征模板称为“特征原型”; 特征原
    型在图像子窗口中扩展(平移伸缩)得到的特征称为“矩形特征”;矩形特征的值称为“特征值”。
    在这里插入图片描述

积分图

定义

  • 积分图是-种能够描述全局信息的矩阵表示方法。积分图的构造方式是:位置(i,j) 处的值i(,j)是原图像(i,j)左上角方向所有像素f(k,I)的和:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

计算特征值

(没太看懂,以后补上)

归一化

这里的归一化和深度学习中的对数据进行归一化的处理相一致,来减少特征值的变化范围,使特征值便于计算

  • 公式为
  • 灰度值和灰度值平方和:
    在这里插入图片描述
  • 计算平均值
    在这里插入图片描述
  • 归一化分母
    *在这里插入图片描述
  • 进行归一化
    -在这里插入图片描述

级联训练分类器

  • 要先进过筛选,在用adaBoost训练,属于传统的训练方法 以后有空再了解
  • 在深度学习上,yolo和ssd,Faster RCNN等用法更高效

代码实践

import cv2
import numpy as np
import matplotlib.pyplot as plt
haar_front_face_xml='../../opt/conda/envs/env/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml'
# haar_front-face_xml ="home/aistuido/xml_file/haarcascade_frontalface_default_2.xml"
haar_eye_xml = 'home/xml_file/haarcascade_eye.xml'
def StaticDetect(filename):
# create an cascade and load a file of .xml and it can be Haar also can be LBP
    face_cascade =cv2.CascadeClassifier(haar_front_face_xml)
    img =cv2.imread(filename)
    gray_img =cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    # 进行人脸检测,
    faces = face_cascade.detectMultiScale(gray_img , 1.3, 5)
    for (x, y, w, h) in faces:
        img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        # cv2.namme
        img=cv2.cvtColor(img,cv2.COLOR_RGB2BGR)
        print(img.shape)
        plt.imshow(img)
        plt.show()
if __name__=='__main__':
    # filename ="hough_result.png"
    list = [1,2,4]
    for i in list:
        filename=str(i) + '.jpg'
        if i==4:
            filename=str(i) + '.png'
        StaticDetect(filename)

结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(这篇博客写的比较匆忙,很多的地方还需要改正)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于计算机视觉基础的PPT,你可以参考一些资源。其中,《计算机视觉基础》这本PPT是一个详细且完整的文档,值得借鉴下载使用。此外,还有慕课网上的《OpenCV计算机视觉基础教程(Python版)》,它包含了10章的内容,涵盖了环境搭建、图像处理基础、图像用户界面、图像处理基础算法、边缘和轮廓、直方图、模板匹配与图像分割等方面的知识。这些资源可以帮助你系统学习计算机视觉基础知识。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [(完整版)计算机视觉基础.ppt](https://download.csdn.net/download/qq_43934844/85623147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [OpenCV计算机视觉基础教程(Python版慕课版)课件PPT,一共包含10章](https://download.csdn.net/download/qq_21386397/85017237)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Linux GDB C/C++调试基础与提升](https://download.csdn.net/download/keavinn/88217480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值