赞
踩
环境:python3.7 OpenCV3.4.3.18
工具:
opencv_annotation.exe
opencv_createsamples.exe
opencv_traincascade.exe
环境和工具下载安装
OpenCV库在cmd下终端命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.3.18
包括了OpenCV主要模块以及OpenCV贡献库
工具在GitHub上下载
https://github.com/opencv/opencv/releases?after=3.4.3安装OpenCV后在以下目录
一、准备阶段
文件模板
positive_images放置正样本图片、negative_image放置负样本图片、xml为训练好的分类器文件
样本收集
正样本:我们想要正确分类出的类别所对应的样本,例如,我们要对一张图片进行分类,以确定其是否属于菠萝,那么在训练的时候,菠萝的图片则为正样本。
负样本:不是我们想要的分类对应的样本,就是除了菠萝的图片
样本数据越多检测效果越好,正样本的特征越明显越好,负样本背景越复杂越好。
1、去www.kaggle.com下载想要的数据集或者使用scrapy+selenium批量爬取图片
2、自己拍摄想要检测物体的图片
二、预处理
图像的注水处理:通过自动对图像的旋转、平移、缩放从而增加样本数量
比如:通过旋转
- "path是图片路径,执行后,会在同一目录下生成11张依次旋转30度的图片"
- def spin(path):
- retval=cv2.imread(path)
- he,we=retval.shape[:2]
- for x in range(1,12):
- M=cv2.getRotationMatrix2D(center=(we/2,he/2),angle=x*30,scale=1)
- M=cv2.warpAffine(retval,M,(we,he))
- new_path=path[:-3]+'-spin'+str(x)+'.jpg'
- #print(new_path)
- cv2.imwrite(new_path,M)
调节亮度:
- "path是图片路径,执行后会在同一目录下生成五张亮度依次递增的图片"
- def light(path):
- retval=cv2.i
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。