检测思路
- 计算积分图,使用积分图(Integral Image)对Haar-like进行特征求值
- 挑选最优分类器;
- 使用AdaBoost算法把这些分类器训练成一个强分类器,用于区分鼠标和非鼠标
- 级联,也就是强分类器的强强联手。把强分类器级联到一起,提高准确率
检测方法
利用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