- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
手把手教你如何利用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.ve
您可能关注的文档
- 精选锅炉工完整考试题库500题(含答案).doc
- 论“牛黄案”完整版.doc
- 桥梁桩基安全专项施工方案.doc
- 生产节拍三种计算方式.doc
- 《机械设计基础》教学教案.docx
- 2022年度机动车检验能力验证(比对)结果分析报告.docx
- 2023年度能力验证(内部比对)结果分析报告.docx
- 测向与定位技术.docx
- 防洪防汛应急预案演练方案脚本(一).docx
- 卡通姓名牌模板.docx
- 中国国家标准 GB/T 4214.17-2024家用和类似用途电器噪声测试方法 干式清洁机器人的特殊要求.pdf
- GB/T 4214.17-2024家用和类似用途电器噪声测试方法 干式清洁机器人的特殊要求.pdf
- 《GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法》.pdf
- GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法.pdf
- 中国国家标准 GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法.pdf
- 中国国家标准 GB/T 32455-2024航天术语 运输系统.pdf
- GB/T 32455-2024航天术语 运输系统.pdf
- 《GB/T 32455-2024航天术语 运输系统》.pdf
- GB/T 44369-2024用于技术设计的人体运动生物力学测量基础项目.pdf
- 中国国家标准 GB/T 44369-2024用于技术设计的人体运动生物力学测量基础项目.pdf
文档评论(0)