Opencv-Haar-Cascade分类器进行鼠标识别

本文介绍了使用OpenCV的Haar级联分类器进行鼠标检测的方法,包括检测思路、检测方法、目标选择、样本构建、训练模型参数设定以及模型检验过程。通过计算积分图、挑选最优分类器、应用AdaBoost算法和级联分类器来提高检测准确性。
摘要由CSDN通过智能技术生成

检测思路

  1. 计算积分图,使用积分图(Integral Image)对Haar-like进行特征求值
  2. 挑选最优分类器;
  3. 使用AdaBoost算法把这些分类器训练成一个强分类器,用于区分鼠标和非鼠标
  4. 级联,也就是强分类器的强强联手。把强分类器级联到一起,提高准确率

检测方法

利用haar特征,结合级联分类器进行鼠标检测: Haar分类器 = Haar-like特征 + 积分图方法 + AdaBoost +级联

检测目标选择

选择特征明显的物体(颜色和轮廓)

样本构建方法

样本分为正样本(有目标)、负样本(无目标)

  • 正样本
    正样本构建:
    拍20张,通过画图软件编辑图片大小50*50(图片尺寸可以减少训练的时间),通过python程序分别调节每张目标图片的亮度各5张、对比度各5张,正样本最终筛选数量为191张,并生成描述文件。
  • 调节亮度和对比度的python代码
from PIL import Image
from PIL import ImageEnhance
import os

root = "C:/Users/空雨衣/Desktop/test/"
fileList = os.listdir(root)
contrasparam = 0.3
brightparam = 0.3
sharpparam = 0.2
contrcounter = 1
brightcounter = 1
sharpcounter = 1
counter = 0
for filename in fileList:
    path = root  + filename
    img = Image.open(path)
    enh_con = ImageEnhance.Contrast(img)
    enh_bri = ImageEnhance.Brightness(img)
    enh_sha = ImageEnhance.Sharpness(img)
    #调节对比度
    for i in range(1,6):
        image_contrasted = enh_con.enhance(contrasparam * i * counter*0.06)
        newname1 = root + str(contrcounter) + "1contrast1" + str(i)+".jpg"
        image_contrasted.save(newname1)
    c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值