版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
手把手教你如何利用Python+opencvopencv实时识别指定(或自定义)物体一.引入
opencv人脸识别大家应该都听说过,本篇目的是利用opencv从视频帧中识别指定的物体,并框出来,且可以保存截取到的物体图片,会将整个流程都讲一下,包括训练自己的分类器,使用训练好的分类器进行识别。这里以识别舌头为例。二.
环境:
1.
python3.6.3
2.opencv
3.4.0三.训练自己的分类器1.注意点:训练集分为正样本,负样本,样本全部为灰度图片,正样本图片尺寸需要固定,一般40*40左右即可,大了电脑跑不动,负样本尺寸不固定,负样本数量要比正样本多才行,少了有问题。图片批量缩小工具下载:链接:/s/1pMAp19p密码:vpp1图片批量灰度处理:使用美图秀秀2.正样本制作,使用美图秀秀将舌头的图片全部裁剪出来(尺寸一致为:40*40的),保存到一个文件夹pos中,当然可以先用大尺寸正方形框进行裁剪,然后再用图片缩小工具进行制定尺寸缩小。最后再用美图秀秀批量灰度化。附上名字自动有序化Java代码:Stringpath="C:\\Users\\Administrator\\Desktop\\pos\\"; Filef=newFile(path); File[]files=f.listFiles(); for(Filefile:files){ i++; file.renameTo(newFile(path+i+"."+file.getName().split("\\.")[1])); }处理后得到如下所示图片:3.负样本制作:如上操作类似,不过这里不要求尺寸一样,但是负样本图片中一定不要包含待识别的区域(如这里的:舌头)如下所示:
4.生成样本资源记录文件:a.正样本资源记录文件新建pos文件夹,将正样本的灰度图拷贝进去使用JAVA代码生成正样本资源记录文件:Stringpath="E:\\tools\\python\\eclipse\\work\\pythonTest\\demo\\0202\\img\\train\\tongue\\pos\\"; Filetxtfile=newFile(path+"pos.txt"); FileOutputStreamfos=newFileOutputStream(txtfile); PrintWriterpw=newPrintWriter(fos,true); Strings=""; File[]files=newFile(path).listFiles(); for(Filefile:files){ pw.println("pos/"+file.getName()+"1004040"); }生成后删除最后一行的带有(pos.txt)的内容,让正样本资源记录文件内容如下类似所示:
(1004040)分别指代:数量
左上方的坐标位置(x,y)
右下方的坐标位置(x,y)处理好后,将pos.txt移动到上一级文件夹b.负样本资源记录文件新建neg文件夹,将负样本的灰度图拷贝进去使用JAVA代码生成负样本资源记录文件:Stringpath="E:\\tools\\python\\eclipse\\work\\pythonTest\\demo\\0202\\img\\train\\tongue\\neg\\"; Filetxtfile=newFile(path+"neg.txt"); FileOutputStreamfos=newFileOutputStream(txtfile); PrintWriterpw=newPrintWriter(fos,true); Strings=""; File[]files=newFile(path).listFiles(); for(Filefile:files){ pw.println("neg/"+file.getName()); }生成后删除最后一行的带有(neg.txt)的内容,让负样本资源记录文件内容如下类似所示:处理好后,将negtxt移动到上一级文件夹得到如图所示文件夹结构:5.使用opencv提供的opencv_createsamples.exe程序生成样本vec文件,新建批处理文件:createsamples.bat内容如下:opencv_createsamples.exe-vecpos.vec-infopos.txt-num25-w40-h40pause说明:25是正样本图片的数量
4040是正样本图片的宽高这些参数的详细解释:/opencvdoc/2.3.2/html/doc/user_guide/ug_traincascade.html运行后会生成pos.vec文件6.使用opencv提供的opencv_traincascade.exe程序训练分类器,新建xml文件夹,再新建批处理文件:LBP_train.bat内容如下:opencv_traincascade.exe-dataxml-vecpos.vec-bgneg.txt-numPos25-numNeg666-numStages10-w40-h40-minHitRate0.999-maxFalseAlarmRate0.2-weightTrimRate0.95-featureTypeLBPpause说明:25是正样本图片的数量
666是负样本图片的数量
numNeg是层级数
4040是训练样本的宽高.....具体参数解释请查看文档:/opencvdoc/2.3.2/html/doc/user_guide/ug_traincascade.html运行后会在xml文件夹生成如下文件:
其中cascade.xml是我们需要使用的分类器四.测试训练好的分类器'''Createdon2018年2月2日实时人脸检测@author:nuohy'''importcv2#加载opencv自带的人脸分类器#faceCascade=cv2.CascadeClassifier("haarcascade_frontalface_alt2.xml")#faceCascade.load('E:/python/opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_alt2.xml')faceCascade=cv2.CascadeClassifier("cascade.xml")faceCascade.load('E:/tools/python/eclipse/work/pythonTest/demo/0202/img/train/tongue/xml/cascade.xml')cap=cv2.VideoCapture(0)flag=0timeF=10whileTrue:flag+=1ret,frame=cap.read()img=frame.copy()gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)rect=faceCascade.detectMultiScale(gray,scaleFactor=1.15,minNeighbors=3,minSize=(3,3),flags=cv2.IMREAD_GRAYSCALE)for(x,y,w,h)inrect:cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)#识别到物体后进行裁剪保存#jiequ=img[x:(x+w),y:(y+h)]#cv2.imwrite('E://tools//python//eclipse//work//pythonTest//demo//0202//img//save//'+str(flag)+'.jpg',jiequ)#saveasjpg#读取到保存图片#if(flag%timeF==0):#cv2.imwrite('E://tools//python//eclipse//work//pythonTest/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 增资扩股委托协议
- 2025版小产权房购房合同范本:房产交易纠纷调解与和解3篇
- 2025年度个人房屋交易房地产广告推广合同范本
- 2025版房地产销售委托代理合同补充协议3篇
- 2025-2030全球MBE掺杂源行业调研及趋势分析报告
- 2025年全球及中国便携式三维测力台行业头部企业市场占有率及排名调研报告
- 2025版个人信用贷款合同样本6篇
- 2025年度钢构建筑绿色供应链管理合同范本2篇
- 委托调查合同范本
- 2025年度个人与个人投资理财合作协议范本4篇
- 中国减肥行业市场分析与发展趋势讲义
- 海通食品集团杨梅汁产品市场营销
- 教学查房及体格检查评分标准
- 西方经济学(第二版)完整整套教学课件
- 人教版高一数学上册期末考试试卷及答案
- 围术期下肢深静脉血栓预防的术中护理
- 三方采购协议范本
- 《材料分析测试技术》全套教学课件
- 安全学原理第2版-ppt课件(完整版)
- 倾听是一种美德
- 武汉东湖宾馆建设项目委托代建合同
评论
0/150
提交评论